AngularJS指令中的元素引用会导致内存泄漏吗?
Can the element reference in an AngularJS directive cause a memory leak?
在 AngularJS 指令中,如果您使用它,将元素引用设置为 undefined
是否有意义?
换句话说,使用元素引用会导致内存泄漏吗?我们目前正在分析我们的应用程序,我正在尝试找出为什么我们有内存泄漏。
例如,假设我不希望在调用某些功能之前检查元素是否可见:
module.directive("myDir", function(){
return {
link: function(scope, element){
scope.$watch(function(){
return element.is(":visible");
}, function(isElementVisible){
if(isElementVisible){
// do something ...
}
}
}
};
});
这会导致泄漏吗?
AFAICS 这不会产生任何内存泄漏。当元素被删除时,作用域将被销毁,监视将被删除,函数不再被引用。
作为微优化(您不应该真正打扰(,如果您只想执行一次代码,当元素可见时,您可以手动删除手表。(scope.$watch(( 返回一个函数,您可以调用该函数来删除监视。
相关文章:
- 重复应用 d3 转换导致的内存泄漏
- IE7中的blockUI插件内存泄漏25kb
- Javascript闭包-如何防止内存泄漏
- jQuery Draggable:内存泄漏
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 在Dojo类中递归调用setTimeout时是否存在内存泄漏
- 是内存泄漏
- 将处理程序留在img.onload上是内存泄漏
- 具有并发sse连接的node.js内存泄漏
- 简单对象的Javascript内存泄漏
- WeakMap是否会将我从父/子关系的内存泄漏中拯救出来
- Javascript绘制画布内存泄漏
- Node.js”;检测到EventEmitter内存泄漏”;
- 正在清理内存泄漏
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- Angular JS$编译服务导致$watch内存泄漏
- 如何防止和防范闭包内存泄漏
- 跟踪 JavaScript 内存泄漏的工具
- 页面刷新后javascript内存泄漏有问题吗?为什么?
- XMLHttpRequest循环内存泄漏