【问题标题】:Handling multiple controllers with the same name when using angular-ui-router使用 angular-ui-router 时处理具有相同名称的多个控制器
【发布时间】:2014-03-02 22:45:17
【问题描述】:

我正在使用 Angular-UI-Router 构建一个应用程序。我有一个依赖子模块的顶级 Angular 模块,这些子模块具有同名的控制器,如下所示:

var moduleA = angular.module('moduleA', []);
moduleA.controller('SameNameCtrl', function () {
  // ModuleA SameNameCtrl implementation
});

var moduleB = angular.module('moduleB', []);
moduleB.controller('SameNameCtrl', function () {
  // ModuleB SameNameCtrl implementation
});

var app = angular.module('app', ['ui.route', 'moduleA', 'moduleB']);

Angular-UI-Router构造状态时如何在不同模块中指定控制器?

$stateProvider
  .state('app.stateA', {
    url: '/stateA',
    templateUrl: 'template-A.html',
    controller: ????  // how to specify moduleA SameNameCtrl
  })
  .state('app.stateB', {
    url: '/stateB',
    templateUrl: 'template-B.html',
    controller: ????  // how to specify moduleB SameNameCtrl
  })

当然,我可以为不同模块中的控制器分配不同的控制器名称,但我想知道是否可以使用具有相同名称的控制器。

谢谢!

【问题讨论】:

  • 你找到答案了吗?我也在寻找相同的。

标签: angularjs angular-ui-router


【解决方案1】:

不幸的是,模块不是 angularjs 中的命名空间机制。您应该提出/遵循命名约定来区分控制器

【讨论】:

    猜你喜欢
    • 2014-08-26
    • 1970-01-01
    • 2021-01-10
    • 2017-10-16
    • 1970-01-01
    • 2016-03-06
    • 2017-03-08
    • 2013-06-14
    • 2014-10-07
    相关资源
    最近更新 更多