使用ng-show expr切换表会导致摘要迭代限制违规

时间:2016-02-27 10:24:01

标签: angularjs

我的代码的Jsfiddle是here

有一个notes表,其中有一个切换按钮,可以在最后显示或隐藏表格。从恒定的颜色列表中随机选择每个note的背景颜色。

当我点击切换按钮而不是隐藏表格时,它会以新颜色重新渲染。 ng-show每次点击都会创建一个新的scope吗?而且,我收到了这个错误,

Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations:
..................................................................

1 个答案:

答案 0 :(得分:2)

你的代码断了,因为每次你在控制器中产生一个随机颜色然后你正在改变模型,这会激发一个新的摘要cicle,反过来会生成一个新的随机颜色等等......到无限

由于AngularJS执行更改跟踪的方式,如果您在其上生成随机值,您的模型永远不会稳定,因此您可能必须尝试其他方法解决您的问题。

此外,我为您提供了与您的代码相关的建议:

Alwas使用分号来完成javascript句子,否则你最终会自己开枪。

看看这个:Google Javascript Style Guide

修改

昨天晚上你的问题浮现在我的脑海里,我对它做了一个转折: Here you have a JsFiddle with a possible approach...

基本上我改变了事情发生的那一刻。希望它有所帮助。

/usr/bin/ruby