最佳答案
Https://docs.angularjs.org/guide/directive
通过侦听此事件,可以删除可能导致内存泄漏的事件侦听器。注册到作用域和元素的侦听器在被销毁时会自动清除,但是如果您在服务上注册了一个侦听器,或者在 DOM 节点上注册了一个没有被删除的侦听器,那么您必须自己清除它,否则您可能会引入内存泄漏。
最佳实践: 指令应该自己清理。您可以使用 element.on (“ $delete”,...)或 scope。当指令被删除时,运行一个清理函数。
问题:
在我的指令中有一个 element.on "click", (event) ->
:
element.on
的内存引用来防止它被垃圾收集?$destroy
发出的事件上的事件侦听器。我的印象是 destroy()
删除了事件侦听器,难道不是这样吗?