当我销毁自己的作用域时,我的程序中不断出现此错误。我在角度内追踪到这个while循环:
if (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) {
while(current !== target && !(next = current.$$nextSibling)) {
current = current.$parent;
}
}
我还设法在 jsFiddle 中复制它:http: //jsfiddle.net/kEyqz/1/
它很容易设置,在一个元素上我连接一个点击事件,然后 $broadcast 它被点击,然后是一个 $apply。
在一个单独的指令(带有子范围)中,我监听该事件,如果我看到它,我会销毁子范围。这样做会产生错误:
Uncaught TypeError: Cannot read property '$$nextSibling' of null
这只是我试图在我的代码中完成的一个小例子。
在 current = current.$parent 之前的控制台日志记录会导致范围没有 $parent(它设置为 null)。
我可以添加以下行:
if(!current){
break;
}
在 current = current.$parent 之后,但如果我切换角度版本,我必须维护它(不理想)