使用角度.js ngRepeat和Routes时如何处理内存泄漏
How to handle memory leak when using angular.js ngRepeat and Routes?
当我将ngRepeat与Route服务一起使用时,Angular泄漏了DOM元素。
我们的应用程序有一个包含搜索结果的表格。当用户单击分页控件上的"下一步"按钮时,应用将更改路由。所以http://website/results/1
会变得http://website/results/2
这会导致angular在ngRepeat指令上调用编译,从而清除它的缓存。缓存中的 DOM 元素和 $scope 对象会粘住并泄漏。
您可以在http://docs.angularjs.org/api/
上看到同样的问题
导航到上面的站点,打开开发工具并启动时间线。然后开始单击左侧的导航。从顶部开始并继续单击,直到到达导航的底部,然后返回。
你会看到 DOM 节点数量一直在增长,永远不会被完全收集。
这是一个真正的问题。
我的问题是:现在有人如何解决这个问题吗?有解决方法吗?
此外,作为旁注但仍然相关的是,角度似乎泄漏了包装内联表达式的每个元素。{{objectOnTheScope}}
它可能与嵌套的 ng-repeat 内存泄漏有关。请参阅 https://github.com/angular/angular.js/issues/1313#issuecomment-10378451
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何处理node.js节点mongodb中的连接和查询队列
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何处理10页以上的静态页眉/页脚
- 将事件处理程序绑定到任何可能的事件
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- python到“;流“;字典处理
- 使用javascript进行实时图像处理
- 导入jQuery脚本获胜'我不处理html文件
- Javascript无法处理表单提交
- JavaScript 任务调度程序(批处理处理)
- RegEx在VBA和JavaScript中的处理方式有何不同?