AngularJS - 删除绑定以避免内存泄漏

时间:2012-12-12 17:46:23

标签: javascript data-binding memory-leaks angularjs

AngularJS断开绑定的正确方法是什么?

我有一个无角度的应用程序,它正在加载一个使用angularjs进行数据绑定的组件。在某些时候,我想破坏组件,并希望确保没有内存泄漏。如何告诉angular从DOM的那一部分删除所有事件监听器?

$(node).remove()会不会做这个伎俩,或者角色会在内存中做其他需要清理的东西......?关于避免角度内漏泄漏的任何其他提示将不胜感激。

1 个答案:

答案 0 :(得分:10)

仅删除具有类似remove()之类的Scope的DOM元素将不会消除内存中的Scope。您可以通过删除元素并查看Batarang,或通过获取父范围并检查其子项来确认这一点。你会看到范围仍然存在....所以你也想在范围本身上调用$destroy()

More information about $destroy() can be found here

编辑:我不确定的一件事是,它是否完全删除了作用域,或者只是将其断开连接并让JavaScript GC处理其余部分。