2016-05-12 83 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(); 
}]);