我想设置控制器在另一个控制器范围内描述的名称
JS档案:
.controller('PageCtrl', [
'$http',
'$scope',
'$routeParams',
'$location',
function($http, $scope, $routeParams, $location){
$scope.CurrentPageCtrl = 'CompaniesCtrl';
}])
.controller('CompaniesCtrl', [
'$http',
'$scope',
'$routeParams',
'$location',
function($http, $scope, $routeParams, $location){
console.log('loaded');
}
])
HTML文件:
<ng-controller ng-controller = "PageCtrl">
<ng-controller ng-controller = "{{CurrentPageCtrl}}">111</ng-controller>
</ng-controller>
但我明白了:
Error: [ng:areq] Argument '{{CurrentPageCtrl}}' is not a function, got undefined
答案 0 :(得分:2)
事情是在代码中的ng-controller中给出控制器之前不会调用控制器。因此,在您的视图中可以访问$ scope变量,例如,您的html。因此,您必须使用ngRouter或ui.router在执行期间指定控制器,或者您必须使用下面链接答案中给出的global指令。 Dynamic NG-Controller Name