Подтвердить что ты не робот

Обработка нескольких контроллеров с тем же именем при использовании 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']);

Как указать контроллер в разных модулях при построении состояния с помощью 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
  })

Конечно, я могу назначить другое имя контроллера для контроллеров в другом модуле, но я хотел бы знать, возможно ли это с контроллерами с тем же именем.

Спасибо!

4b9b3361

Ответ 1

Unfortunatelly модули не являются механизмом пространства имен в angularjs. Вы должны прийти/следовать соглашению об именах, чтобы дифференцировать контроллеры.