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