Javascript 如何区分AngularJS中注入模块的名称空间?

Javascript 如何区分AngularJS中注入模块的名称空间?,javascript,namespaces,angularjs,Javascript,Namespaces,Angularjs,假设我有一个控制器,它依赖于两个模块,这两个模块都包含一个指令或具有相同名称的服务。我能具体说明应该使用哪一种吗 angular.module('myApp',['secondModule','thirdModule'])) .controller('Ctrl1',['$scope','myService',函数(scope,myService){ scope.user=myService.getUser(); console.log(myService); }]); 在这种情况下,secon

假设我有一个控制器,它依赖于两个模块,这两个模块都包含一个指令或具有相同名称的服务。我能具体说明应该使用哪一种吗

angular.module('myApp',['secondModule','thirdModule']))
.controller('Ctrl1',['$scope','myService',函数(scope,myService){
scope.user=myService.getUser();
console.log(myService);
}]);

在这种情况下,secondModulethirdModule都有一个名为myService的服务。但本例中仅使用第三个模块中的一个。我尝试将类似于secondModule.myService的内容作为Ctrl1的依赖项,但它不起作用。AngularJS中是否存在某种名称空间?

目前,不存在基于模块的名称空间。你必须自己避免碰撞


我相信对此进行了一些讨论,但我现在找不到。

我使用以下约定:

如何命名服务(以及控制器)的名称空间


你真的应该避免这个!!目前,这似乎是不可能的。在开发可能包含许多指令/服务/常量等的大型应用程序时,这似乎是一个真正的问题。在我看来,使用简单的命名约定并不是一个足够强大的机制。
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); 
        }]
    );