我有以下问题。我想添加一个控制器,其名称包含在对象中。从ng-repeat接收到的对象
这是数组:
$scope.components = [
{
name: "box",
controller: "BoxCtrl"
}
/*others components*/
];
这是HTML代码:
<ul>
<li ng-repeat="c in components" ng-controller="{{c.controller}}">
{{c.name}}
</li>
</ul>
但我有以下错误。
有什么解决办法吗?
ngController指令期望一个控制器实例,但你给了他一个字符串。这应该可以完成工作:
在你的控制器中:
$scope.components = [
{
name: "box",
controller: BoxCtrl //Remove the quotes
}
/*others components*/
]
在你看来:
<ul>
<li ng-repeat="c in components" ng-controller="c.controller">
{{c.name}}
</li>
</ul>
编辑:这是一个活塞:http://plnkr.co/edit/sLdZT4UPmgM7Is8SFyrb