我试图用一组对象写一个ng-repeat
,在ng-repeat属性中定义数组,但由于某种原因它只是无限地重复输出。
我把它归结为与最后一部分有关的问题;这是内联的。
<span ng-repeat="item in [{test:'a'}, {test:'b'}, {test:'c'}]">{{item.test}}</span>
在控制台中出现了一堆Error: [$rootScope:infdig]
错误
有趣的是,虽然我运行1.2,但无论我在jsfiddle中选择哪个角度版本,它都可以很好地使用它。
但jsfiddle中的控制台仍然充斥着错误Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
,不仅对于对象数组,而且对数组数组(test5)这样做。
我试图解决这个小问题,测试5,保存var,这非常有趣,因为如果你注释掉ng-repeat,it saves the scope variable fine没有错误。
然而,当您尝试使用该变量时,that is where it dies。这很有意思,因为它基本上就是test3,它顺便说一句。
因此,对于我想要做的一件事,它必须是一个问题,请variable come from the html(而不是在js中预先存在)。因此,为了终止摘要循环,我尝试将小提琴切换到v1.4以使用one time binding和it still fails(控制台错误)。
其他人seem to have hit the issue,但将其修复在自己的库中,而不是在上游报告
我有什么方法可以让它正常工作吗?
答案 0 :(得分:2)
看看这段代码。
<!--what I actually want to work-->
<span ng-init="test10 = [{'text':'but'}, {'text':'this'}, {'text':'refuses'}, {'text':'to'}, {'text':'work'}]"></span>
<span ng-repeat="item in test10">{{item.text}} </span>
使用ng-init,您可以从视图中设置范围变量。
希望它有所帮助!