AngularJS 配置时从其他模块引用控制器 ui-router

AngularJS refer controller from other module when config ui-router

在下面的初始化代码中 angular-ui-router,

如果我有两个模块,它们都有IndexController,ui-router会用哪个?我可以通过 angular.module('targetModule').findController('IndexController')?

之类的方式找到对控制器指定 constructor/function 的引用吗?
state: 'index',
url: '/',
        views: {
            '' : {
                templateUrl: 'index',
                controller: 'IndexController'
            }
        }

将使用的控制器将是第一个加载的控制器。一旦指令、服务或控制器被定义,它就不能被其他任何东西覆盖。

此时此刻,您必须避免名称冲突。

在 angular 中有一个 $injector 处理所有解析请求。我的建议是在注册控制器时只添加前缀。这样可以避免名称冲突:

var module1 = angular.module('m1', [....]);
var module2 = angular.module('m2', [....]);
module1.controller('m1.IndexController', ['$http', function($http) {
    // do something interesting.
}]);
module2.controller('m2.IndexController', ['$http', function($http) {
    // do something interesting else.
}]);