AngularJS 中断开绑定(bind)的正确方法是什么?
我有一个非 Angular 应用程序,它正在加载一个使用 angularjs 进行数据绑定(bind)的组件。在某些时候我想销毁组件并希望确保没有内存泄漏。我如何告诉 Angular 从 DOM 的那部分删除所有事件监听器?
$(node).remove()
会解决这个问题,还是 angular 会在内存中做其他需要清理的事情...?任何其他关于避免 Angular 内存泄漏的提示都将不胜感激。
最佳答案
只是删除一个具有范围的 DOM 元素,如 remove()
不会删除内存中的范围。您可以通过删除元素并查看 Batarang 来确认这一点,或者通过获取父作用域并检查它的子作用域。您会看到作用域仍然存在...因此您还需要对作用域本身调用 $destroy()
。
More information about $destroy() can be found here .
编辑:我不确定的一件事是它是否完全删除范围,或者只是断开它并让 JavaScript GC 处理其余部分。
关于javascript - AngularJS - 删除绑定(bind)以避免内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13845590/