【发布时间】:2015-07-10 10:04:42
【问题描述】:
我一直在查看的基于 Angular 的应用程序中似乎存在内存泄漏,我已将其简化为以下测试用例:http://plnkr.co/edit/JIt8PrV28lKnlSx8I8xP?p=preview。
基本上归结为我不知道如何从文档中干净地删除 ng-repeat。如果我使用jQuery().remove(),该表将从文档中消失,但缓存的侦听器(例如$watchCollectionAction())会导致泄漏。
我现在有一个 $scope.$destroy() 电话,我想在该示例中进行清理,但这不是答案...
谢谢!
【问题讨论】:
-
为什么不先调用 $destroy() 再调用 remove()
-
我试过了。令我惊讶的是,
$destroy()调用似乎并没有删除 Angular 似乎正在添加的侦听器。 -
举个例子,我不太清楚你想删除什么? “我已经添加了
persons.splice( 0, persons.length );(上面的 URL 已经更新了),但这并没有清空 HTML。我真正想做的就是从 DOM 中删除项目,而不会造成任何内存泄漏。
标签: javascript jquery angularjs memory-leaks