如何区分AngularJS中注入模块的名称空间
How to differentiate between namespaces of injected modules in AngularJS?
假设我有一个控制器,它依赖于两个模块,这两个模块都包含一个同名的指令或服务。我能具体说明应该使用哪一个吗?
angular.module('myApp', ['secondModule', 'thirdModule'])
.controller('Ctrl1', ['$scope', 'myService', function(scope, myService){
scope.user = myService.getUser();
console.log(myService);
}]);
在这种情况下,secondModule和thirdModule都有一个名为myService的服务。但在本例中,仅使用第三模块中的一个。我尝试将类似于secondModule.myService的东西作为Ctrl1依赖项,但它不起作用。AngularJS中是否存在某种命名?
目前,没有基于模块的名称空间。你必须自己避免碰撞。
我相信有人讨论过这个问题,但我现在找不到。
我使用以下约定:https://github.com/roytruelove/angular-grunt-coffeescript#modules-和角度项目
对服务(以及控制器)进行名称调整如何?
angular.module('secondModule', [])
.factory('secondModule.myService', function($http) {
return {
getUser: function() { /* some code here */ }
};
});
angular.module('thirdModule', [])
.factory('thirdModule.myService', function($http) {
return {
getGroup: function() { /* some code here */ }
};
});
angular.module('myApp', ['secondModule', 'thirdModule'])
.controller('myApp.Ctrl1',
['$scope', 'secondModule.myService', function(scope, myService){
scope.user = myService.getUser();
console.log(myService);
}]
);
相关文章:
- JSDoc:模块和名称空间之间的关系是什么
- 如何在javascript模块中包含jquery而不与全局名称空间冲突
- jQuery命名空间声明和模块化方法
- 使用“模块”作为命名空间
- Typescript子命名空间和环境模块
- 如何在使用模块模式时使用 JSDoc 记录子命名空间
- 将模块导入命名空间类
- RequireJS 加载同一个模块两次以获得两个单独的命名空间
- 具有 ES6 模块的命名空间
- 使用原型的库子模块的私有命名空间
- TypeScript/JavaScript中的模块和命名空间之间的区别是什么
- 什么'这是向全局命名空间公开requireJS模块的正确方法
- 如何在模块基础应用程序中隐藏全局命名空间对象
- 意外的“;双“;在子模块中使用构造函数时使用命名空间
- 从内部扩展命名空间模块
- Javascript命名空间和私有模块
- 在node.js中创建一个带有命名空间的模块
- 模块模式下的JavaScript命名空间
- 如何有选择地导入ES2015模块函数,但要使用命名空间
- 在单个命名空间下组织javascript模块