使用angular-ui-router时,处理多个具有相同名称的控制器

Bri*_*ark 12 angularjs angular-ui-router

我正在使用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']);
Run Code Online (Sandbox Code Playgroud)

使用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
  })
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

mar*_*inn 3

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