为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

心有法竹 2019-08-02 16:02:44
如何使用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>
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

这是在这里报道并得到这样的回应:

您的getter不是幂等的并且更改模型(通过每次调用时生成一个新数组)。这迫使角度继续调用它,希望模型最终会稳定,但它从未这样做角度放弃并抛出异常。

getter返回的值相等但不相同,这就是问题所在。

如果将阵列移动到主控制器外,您可以看到此行为消失:

var array = [{id:'angularjs'}];function Main($scope) {
    $scope.getEntities = function(){return array;};};

因为现在它每次都返回相同的对象。您可能需要重新构建模型以使用范围上的属性而不是函数:

我们通过将控制器方法的结果分配给属性来解决这个问题,然后执行ng:重复它。


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 708 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信