Как из контроллера AngularJS разрешить другую функцию контроллера, определенную в модуле (динамический ng-контроллер)?
Самоочевидная скрипка:http://jsfiddle.net/5FG2n/6/
Мне нужно динамически выбрать контроллер для использования во время выполнения на основе его имени в виде строки. Строка будет прочитана из объекта конфигурации.
В приведенном ниже коде у меня естьInnerCtrlAsLocalVariable
назначен на$scope.dynamicCtrl
, Как вместо этого назначитьInnerCtrlFromModule
в собственность?
Посмотреть:
{{message}}
JS:
var InnerCtrlAsLocalVariable = ['$scope',
function($scope) {
$scope.message = 'from controller as local variable - do not want'
}
];
angular.module('app', [])
.controller('OuterCtrl', ['$scope',
function($scope) {
// Instead of doing this...
$scope.dynamicCtrl = InnerCtrlAsLocalVariable;
// ...I want to do something like this:
// $scope.dynamicCtrl = resolveCtrl('InnerCtrlFromModule');
}
])
.controller('InnerCtrlFromModule', ['$scope',
function($scope) {
$scope.message = 'from controller defined in module - want';
}
]);