javascript – 来自范围的Contrller名称

我想设置控制器在另一个控制器的范围内描述的名称

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

最佳答案 问题是在代码中的ng-controller中给出控制器之前不会调用控制器.因此,在您的视图中可以访问$scope变量,例如,您的html.因此,您必须使用ngRouter或ui.router在执行期间指定控制器,或者您必须使用下面链接答案中给出的global指令.

Dynamic NG-Controller Name

点赞