angularjs - 使用 angular-ui-router 时处理具有相同名称的多个 Controller

标签 angularjs angular-ui-router

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

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 构建状态时,如何在不同模块中指定 Controller ?
$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
  })

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

谢谢!

最佳答案

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

关于angularjs - 使用 angular-ui-router 时处理具有相同名称的多个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134699/

相关文章:

javascript - 电话号码验证,其中包含 +** ***-***-****(再加上两位数的国家/地区代码和 10 位数的手机号码)

visual-studio - "typescript intellisense"在我的 Razor View 中?

javascript - 使用 typescript 导入外部javascript的最佳方法

AngularJS - 定义模块时,第三个参数是数组时的含义是什么?

javascript - 如何将 Angular 的 ui-sref 插入链接文本中?

javascript - Angular 在 ui-router View 中不显示非英文字母

javascript - 在 Angular js 中将给定状态显示为模态视图和普通 View

angularjs - http拦截器响应方法中未定义$rootScope

angularjs - ui-router v1.0.0alpha0 - TypeError : Cannot read property 'creationContext' of undefined

javascript - 当有父级 ng-click 时,防止触发嵌套的 ui-sref