AngularJS发布注入服务

时间:2015-11-12 07:11:41

标签: angularjs angularjs-service angularjs-controller

不确定我在哪里出错了。我试图简单地注入服务并在控制器中使用它

app.js

var app = angular.module('myApp', [
    'myApp.controllers.myCtrl',
    'myApp.services.myService'
]);

JS /控制器/ myCtrl.js

var app = angular.module('myApp.controllers.myCtrl', []);

app.controller('homeController', function ($scope, MyService) {
     ...
});

JS /服务/ myService.js

var app = angular.module('myApp.services.myService', []);

app.service("MyService", function ($http, $q) {
     ...
});

这会导致以下错误 enter image description here

2 个答案:

答案 0 :(得分:2)

在这里,您尝试访问myService模块中myApp.services.myService模块的myApp.controllers.myCtrl服务组件,而不注入该模块显然会失败。

如果您想访问myApp.controllers.myCtrl模块中的服务,则需要在myApp.services.myService中注入[](所有依赖模块的依赖关系数组)。

var app = angular.module('myApp.controllers.myCtrl', ['myApp.services.myService']);

通过上述行,您可以在myApp.controllers.myCtrl模块中获得所有组件(服务)。

答案 1 :(得分:0)

JS /控制器/ myCtrl.js

var app = angular.module('myApp.controllers.myCtrl',['myApp.services.myService']);

app.controller('homeController',function($ scope,MyService){      ... });

然后不需要再次在app.js中注入服务。

var app = angular.module('myApp',['myApp.controllers.myCtrl']);