从ng-repeat元素插入控制器

时间:2014-08-12 12:58:16

标签: javascript angularjs angularjs-ng-repeat

我有以下问题。我想添加一个控制器,其名称包含在对象中。我从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>

但我有以下情况 error

任何想法如何解决?

1 个答案:

答案 0 :(得分:1)

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