我的AngularJS App中有一个服务和一个控制器,它应该在同一个模块中,但它是两个不同的文件:
// File 1 (Service)
angular.module('myService', ['ngRoute'])
.service('myService', // ...
// File 2 (Controller)
angular.module('myController', ['ngRoute'])
.controller('myController', // ..
这很好用。现在我想要服务&控制器在一个模块中,所以我只能加载一个而不是两个模块。所以我将(两个文件中的)第一行更改为:
// Change in both files:
angular.module('myModule', ['ngRoute'])
但现在我收到了一个错误:
错误:[$ injector:unpr] ...
也许有人知道,这里可能有什么不对。非常感谢你!
答案 0 :(得分:1)
您可以执行以下操作:
var myApp = angular.module('myApp', []);
myApp.controller("myService"
myApp.service("myApp")
或者
angular.module("myModule").controller
angular.module("myModule").service
如果您使用angular.module(' myService',[])两次,则表示您正在初始化同一模块两次。 如果你只使用angular.module(" myModule"),没有依赖项,你就是在调用它。
答案 1 :(得分:1)
您有两种选择 -
OR
// Initialize myService Module in any JS file
(make sure this file is included before File 1 and File 2
angular.module('myService', ['ngRoute']);
// File 1 (Service)
angular.module('myService').service('myService', // ...
// File 2 (Controller)
angular.module('myService').controller('myController', // ..