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']);
不太确定我哪里出错了。我试图简单地注入一个服务并在控制器中使用它
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']);