https://docs.angularjs.org/guide/directive
通过侦听此事件,您可以删除可能导致内存泄漏的事件侦听器.注册到范围和元素的监听器在销毁时会自动清理,但如果您在服务上注册了监听器,或者在未删除的DOM节点上注册了监听器,则必须自行清理或者你冒着引入内存泄漏的风险.
最佳实践:指令应该自行清理.您可以使用element.on('$ destroy',...)或范围.$ on('$ destroy',...)来删除指令时运行清理函数.
题:
element.on "click", (event) ->我的指令里面有一个:
element.on以防止它被垃圾收集?$destroy发出的事件上的事件侦听器.我的印象是destroy()删除了事件监听器,是不是这样?如何在不重置控制器的情况下从解析功能访问数据?
我们目前正在开发一个使用的项目angular-ui-router.我们有两个单独的视图:左边是父元素列表,右边是元素子数据.
如果在左侧选择父级,我们将其子级数据解析为右侧的子视图.
目标是不对子控制器(和视图)进行自动加载,在选择不同的父元素时,我们设置notify:false.
我们设法在不重新加载控制器和视图的情况下"重新解析"子控制器数据,但数据(范围)不会刷新.
我们做了一个小plunker来证明我们的问题在这里
首先单击一个数字以实例化控制器childCtrl.每次跟随点击都应该更改子范围数据 - 这不起作用.您可能会注意到alert输出已经包含我们要显示的刷新数据.