gpt4 book ai didi

angularjs - 无法读取null的属性'$$ nextSibling'

转载 作者:行者123 更新时间:2023-12-03 09:30:09 25 4
gpt4 key购买 nike

销毁自己的示波器时,我在程序中始终遇到此错误。我在角度范围内跟踪到了这个while循环:

if (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) {
while(current !== target && !(next = current.$$nextSibling)) {
current = current.$parent;
}
}


我也设法在jsFiddle中复制它: http://jsfiddle.net/kEyqz/1/

设置起来非常容易,在一个元素上,我组织了一个click事件,然后广播了它被单击的$ broadcast,然后是一个$ apply。

在一个单独的指令(带有子范围)中,我监听该事件,如果看到该事件,则销毁该子范围。这样做会产生错误:

Uncaught TypeError: Cannot read property '$$nextSibling' of null 


这只是我要在代码中完成的一个小例子。

在current = current。$ parent之前的控制台日志记录将导致作用域中没有$ parent(设置为null)。

我可以添加以下行:

if(!current){
break;
}


在current = current。$ parent之后,但是如果我切换角度版本(不理想),我必须保持它

最佳答案

这是您要查找的http://jsfiddle.net/jw99Lj7t/吗?

您正在$destroy正在执行$scope durgin digest循环-这导致了错误。

我不相信这是一个bug,因为这是实现digest循环的方式(它循环遍历$scopes的列表,检查是否已更改某些内容,因此我们无法从该列表中删除范围,因为它已经“正在使用中”)。

解决此问题可能会引入很多复杂性,并且由于digest必须非常快,因此最好为执行的操作找到不同的方式。

关于angularjs - 无法读取null的属性'$$ nextSibling',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com