看看以下内容:
https://dl.dropbox.com/u/4571/musicopeTypescript/musicopeTypescript/index.html https://dl.dropbox.com/u/4571/musicopeTypescript/musicopeTypescript/index.html
当你在输入框中输入“a”时,你会得到10 $digest() iterations reached. Aborting!
error.
你知道为什么会发生这种情况吗?
EDIT:这是产生问题的代码:
http://embed.plnkr.co/PTkvPc http://embed.plnkr.co/PTkvPc
EDIT:看起来是Song.clone的问题。如果我用 angular.copy 替换它,那么它就可以工作。有人可以解释一下吗?
这是工作版本:
http://plnkr.co/edit/8Jk1pR?p=preview http://plnkr.co/edit/8Jk1pR?p=preview
您的过滤器是否以某种方式修改了原始数据?这是唯一看起来会导致无限消化循环的具体事情。
EDIT:关于不同的克隆函数会导致不同的行为。
我怀疑一个正在执行深度克隆,另一个则没有,在一种情况下,AngularJS 正在检查对象相等性,而您的过滤器每次都创建新对象,从而导致问题。
我建议分解其中一些逻辑,也许将其中一些移动到控制器或附加过滤器中。缩小数组范围的过滤器应该只这样做,并且只返回对原始对象的引用。然后你可以编写其他过滤器来操作标签等。
阿爸也+1。 :P
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)