javascript - AngularJS - 删除绑定(bind)以避免内存泄漏

标签 javascript data-binding memory-leaks angularjs

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/

相关文章:

c# - 强制 ErrorText 显示在 DataGridView 中

java - Java中静态字符串常量所需的内存空间?

javascript - 检查是否在 jQuery 中设置了最大宽度?

javascript - 迭代 ember.js Handlebars 模板中的键值

javascript - React Select 多选时下拉列表名称缩写

javascript - 多人游戏中对手的移动 promise

android - 单击行时回收器 View 数据绑定(bind)

data-binding - Dart + Polymer,如何绑定(bind)到以编程方式生成的元素、textarea、select、optgroup

.net - 如何检测 .NET WPF 内存泄漏或 GC 长期运行?

c++ - Valgrind 将此检测为可能的内存泄漏