2016-05-12 96 views
0

我試圖創建和AngularJS使用新的服務,但是, 我碰到下面的錯誤 -無法訪問功能Angular.js服務

Error message ProjectService.one不是一個函數

的JavaScript -

var app = angular.module('app', ['ngRoute']); 
 

 
app.service('ProjectService', function() { 
 
    this.one = function one() { 
 
     console.log('test service'); 
 
    }; 
 
}); 
 

 
app.controller('ProjectsController', ['$scope', function (ProjectService, Test) { 
 
    ProjectService.one(); 
 
}]);

+2

試'this.one = function(){....}' – Bikee

+1

應該不重要 –

+0

@Bikee嘗試了匿名函數,但這也不起作用。 – Shivendra

回答

3

您的控制器聲明中存在錯誤。您的ProjectService參數匹配$ scope服務。改爲這樣做;

app.controller('ProjectsController', ['$scope', 'ProjectService', 'Test', function ($scope, ProjectService, Test) { 
    ProjectService.one(); 
}]); 

服務參數必須服務的陣列(相同數量和順序)

+0

謝謝你。我不敢相信我搞砸了。 @ M.S Cheers – Shivendra

0

符合您所注入ProjectService和其他所需的相關模塊如下所述:

app.controller('ProjectsController', ['$scope','ProjectService','Test', function ($scope,ProjectService, Test) { 
    ProjectService.one(); 
}]);