当angular开始销毁时,我们是否需要在指令中取消绑定事件监听器?

我的应用程序中有大量内存泄漏,但是我还没有找到原因,这就是背景。

  • 我正在使用AngularJS + JQuery(插件)
  • 许多监听器的绑定如下:

$(element).on(“ keyup”,function(){});

我是否需要按照以下说明在指令中取消绑定这些侦听器?

scope.$on("$destroy", function() {

$(element).off();

});

顺便说一句,您通常如何发现Web应用程序中的内存泄漏?我使用chrome的配置文件(请参阅此处对内存性能进行性能分析),但无法跟踪内存泄漏的代码。你有什么建议吗?

非常感谢!

回答:

范围销毁的Angular文档意味着您确实需要删除DOM事件。

http://docs.angularjs.org/api/ng.$ro​​otScope.Scope#$destroy

请注意,在AngularJS中,还有一个$ destroy jQuery事件,该事件可用于在从DOM中删除元素之前清除DOM绑定。

以上是 当angular开始销毁时,我们是否需要在指令中取消绑定事件监听器? 的全部内容, 来源链接: utcz.com/qa/404088.html

回到顶部