【问题标题】:AngularJS refer controller from other module when config ui-router [duplicate]AngularJS在配置ui-router时从其他模块引用控制器[重复]
【发布时间】:2015-07-01 21:19:51
【问题描述】:

在下面的init angular-ui-router代码中,

如果我有两个模块,它们都有 IndexController,ui-router 会使用哪个?我可以通过angular.module('targetModule').findController('IndexController') 之类的方式找到对控制器指定构造函数/函数的引用吗?

state: 'index',
url: '/',
        views: {
            '' : {
                templateUrl: 'index',
                controller: 'IndexController'
            }
        }

【问题讨论】:

    标签: angularjs angular-ui-router


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      在 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.
      }]);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-23
        • 1970-01-01
        • 2019-02-12
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        相关资源
        最近更新 更多