猿问

AngularJS - $ destroy是否删除事件监听器?

AngularJS - $ destroy是否删除事件监听器?

https://docs.angularjs.org/guide/directive

通过侦听此事件,您可以删除可能导致内存泄漏的事件侦听器。注册到范围和元素的监听器在销毁时会自动清理,但如果您在服务上注册了监听器,或者在未删除的DOM节点上注册了监听器,则必须自行清理或者你冒着引入内存泄漏的风险。

最佳实践:指令应该自行清理。您可以使用element.on('$ destroy',...)或范围。$ on('$ destroy',...)来删除指令时运行清理函数。

题:

element.on "click", (event) ->我的指令里面有一个:

  1. 当指令被销毁时,是否有任何内存引用element.on以防止它被垃圾收集?

  2. Angular文档声明我应该使用处理程序来删除$destroy发出的事件上的事件侦听器。我的印象是destroy()删除了事件监听器,是不是这样?


缥缈止盈
浏览 786回答 1
1回答
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答