我有两个文件,我在其中定义了我的 Angular 应用程序中的服务,但是当我尝试在我的指令中同时使用它们时,我收到一条错误消息,指出找不到我定义第二个指令的服务提供者。似乎一项服务正在覆盖另一项服务。如果我将 service2.js 中的模块定义更改为 myapp.services2,那么它就可以工作。我想我可以通过这种方式将多个工厂添加到同一个模块。有人可以指出我做错了什么吗?
服务1.js:
var services = angular.module('myapp.services',[]);
services.factory('Service1', function() {
// service code
});
service2.js:
var services = angular.module('myapp.services',[]);
services.factory('Service2', function() {
// service code
});
我的指令.js:
angular.module('myappdirective', []).directive('myapp', ['Service1', 'Service2',
function(service1,service2) {
// directive code
}]);
最佳答案
这是来自文档:
Beware that using angular.module('myModule', []) will create the module myModule and overwrite any existing module named myModule. Use angular.module('myModule') to retrieve an existing module.
关于javascript - angularjs 在不同文件中为同一模块定义服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23378175/