AngularJS 问题注入服务

AngularJS issue injecting services

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

app.js

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

js/controllers/myCtrl.js

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

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

js/services/myService.js

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

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

这会导致以下错误

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

如果你想访问 myApp.controllers.myCtrl 模块中的服务,那么你需要在 [] 中注入 myApp.services.myService(你可以在其中添加所有依赖模块的依赖数组)。

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

通过执行上述操作,您确实拥有 myApp.controllers.myCtrl 模块中的所有组件(服务)。

js/controllers/myCtrl.js

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

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

那就不用再在app.js中注入服务了。

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