Z kontrolera AngularJS, jak mogę rozwiązać inną funkcję kontrolera zdefiniowaną w module (dynamiczny kontroler ng)?
Samoczynne skrzypce:http://jsfiddle.net/5FG2n/6/
Muszę dynamicznie wybrać kontroler, który ma być używany w czasie wykonywania na podstawie jego nazwy jako łańcucha. Ciąg zostanie odczytany z obiektu konfiguracyjnego.
W poniższym kodzie mamInnerCtrlAsLocalVariable
przypisany do$scope.dynamicCtrl
. Jak zamiast tego przypisaćInnerCtrlFromModule
do nieruchomości?
Widok:
<div ng-app='app' ng-controller='OuterCtrl'>
<div ng-controller='dynamicCtrl'>
{{message}}
</div>
</div>
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';
}
]);