什么时候范围自然会在angularjs生命周期中被破坏

ric*_*i90 7 javascript angularjs angularjs-scope

我在角度模块中看到了很多类型的代码

scope.$on('$destroy', function(){
  //undind listener here
});
Run Code Online (Sandbox Code Playgroud)

我的理解是,每当范围即将被销毁时,它会广播一个$destroy事件,允许您清理在范围被破坏后可能继续运行的任何代码,这会导致内存泄漏.

我的问题是,什么时候范围自然会在angularjs应用程序中被销毁.我可以从网站上找到的所有文档都是您可以手动调用$destroy删除范围,但这似乎表明它会在某个时刻自动发生.那会是什么时候?

bha*_*tol 1

范围在编译期间与 HTML 元素相关联。$compile 需要一个范围来编译元素。元素可以嵌套。有些获得新的范围,其他则继承。

当元素从 DOM 中删除时,作用域就会被破坏。

准确地说:$destroyAngularJSjQuery.cleanData在执行清理操作后重新定义和调用处理程序,也就是销毁作用域。

cleanData当从 DOM 中删除元素时调用该函数。

jQuery clean 和 cleanData 方法的目的是什么?