当我毁坏我自己的范围时,我的程序中会出现这个错误.我跟踪到这个环绕在有角度:
原文链接:/angularjs/143049.htmlif (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) { while(current !== target && !(next = current.$$nextSibling)) { current = current.$parent; } }
我也设法在jsFiddle:http://jsfiddle.net/kEyqz/1/中复制它
很容易设置,在一个元素上,我连线一个点击事件,然后$广播,它被点击后跟一个$apply.
在一个单独的指令(有一个子范围)中,我听取了这个事件,如果我看到它,我毁了孩子的范围.这样做会产生错误:
Uncaught TypeError: Cannot read property '$$nextSibling' of null
这只是我在代码中尝试完成的一个小例子.
控制台记录在current = current之前$parent导致范围没有$parent(它设置为null).
我可以添加行:
if(!current){ break; }
在current = current $parent之后,如果我切换角度版本(不理想),我必须保持它