我正在尝试为包含的模板动态分配控制器,如下所示:
<section ng-repeat="panel in panels"> <div ng-include="'path/to/file.html'" ng-controller="{{panel}}"></div> </section>
但是Angular抱怨这{{panel}}是不确定的。
{{panel}}
我猜,{{panel}}是不是定义 尚未 (因为我可以附和了{{panel}}在模板中)。
我见过很多关于人们设置ng-controller等于变量的示例,例如:ng- controller="template.ctrlr"。但是,如果不创建重复的并发循环,就无法弄清楚{{panel}}在ng- controller需要时如何获得可用值。
ng-controller
ng- controller="template.ctrlr"
ng- controller
PS我也尝试ng-controller="{{panel}}"在模板中进行设置(认为到那时它一定已经解决了),但是没有骰子。
ng-controller="{{panel}}"
您的问题是ng-controller应该指向控制器本身,而不仅仅是带有控制器名称的字符串。
因此,您可能希望将$ scope.sidepanels定义为带有指向控制器的指针的数组,如下所示:
$scope.sidepanels = [Alerts, Subscriptions];
这是js小提琴上的工作示例http://jsfiddle.net/ADukg/1559/
但是,当您可能想在ngRepeat中设置控制器时,我发现所有这些情况都很奇怪。