猿问

如何使用ng-repeat循环执行函数返回的项目?

如何使用ng-repeat循环执行函数返回的项目?

我想重复创建div,这些项是函数返回的对象。但是,以下代码报告错误:达到10 $ digest()迭代。中止!jsfiddle在这里:http//jsfiddle.net/BraveOstrich/awnqm/

<body ng-app>
  <div ng-repeat="entity in getEntities()">
    Hello {{entity.id}}!  </div></body>


心有法竹
浏览 709回答 3
3回答

慕的地10843

这是在这里报道并得到这样的回应:您的getter不是幂等的并且更改模型(通过每次调用时生成一个新数组)。这迫使角度继续调用它,希望模型最终会稳定,但它从未这样做角度放弃并抛出异常。getter返回的值相等但不相同,这就是问题所在。如果将阵列移动到主控制器外,您可以看到此行为消失:var&nbsp;array&nbsp;=&nbsp;[{id:'angularjs'}];function&nbsp;Main($scope)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$scope.getEntities&nbsp;=&nbsp;function(){return&nbsp;array;};};因为现在它每次都返回相同的对象。您可能需要重新构建模型以使用范围上的属性而不是函数:我们通过将控制器方法的结果分配给属性来解决这个问题,然后执行ng:重复它。
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答