系统相关
首页 > 系统相关> > javascript – 使用angular.js ngRepeat和Routes时如何处理内存泄漏?

javascript – 使用angular.js ngRepeat和Routes时如何处理内存泄漏?

作者:互联网

当我使用ngRepeat和Route服务时,Angular正在泄漏DOM元素.

我们的应用程序有一个搜索结果表.当用户单击分页控件上的下一个按钮时,应用程序会更改路径.所以http:// website / results / 1将成为http:// website / results / 2这会导致angular在ngRepeat指令上调用compile来清除它的缓存.缓存中的DOM元素和$scope对象都存在并且泄漏.

您可以在http://docs.angularjs.org/api/上看到同样的问题

导航到上面的站点,打开开发工具并启动时间轴.然后开始单击左侧的导航.从顶部开始并一直点击,直到您到达导航的底部然后再返回.

您将看到DOM节点数量不断增长,并且永远不会被完全收集.

这是一个真正的问题.

我的问题是:现在有人如何解决这个问题?有工作吗?

此外,作为旁注但仍然相关的是,angular似乎泄漏了包装内联表达式的每个元素. {{objectOnTheScope}}

解决方法:

它可能与嵌套的ng-repeat内存泄漏有关.
https://github.com/angular/angular.js/issues/1313#issuecomment-10378451

标签:javascript,angularjs,memory-leaks,ng-repeat
来源: https://codeday.me/bug/20190708/1407255.html