相关疑难解决方法(0)

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()删除了事件监听器,是不是这样?

memory-leaks angularjs

197
推荐指数
1
解决办法
11万
查看次数

在不重新连接控制器的情况下从resolve函数访问数据

如何在不重置控制器的情况下从解析功能访问数据?

我们目前正在开发一个使用的项目angular-ui-router.我们有两个单独的视图:左边是父元素列表,右边是元素子数据.

如果在左侧选择父级,我们将其子级数据解析为右侧的子视图.

目标是不对子控制器(和视图)进行自动加载,在选择不同的父元素时,我们设置notify:false.

我们设法在不重新加载控制器和视图的情况下"重新解析"子控制器数据,但数据(范围)不会刷新.

我们做了一个小plunker来证明我们的问题在这里

首先单击一个数字以实例化控制器childCtrl.每次跟随点击都应该更改子范围数据 - 这不起作用.您可能会注意到alert输出已经包含我们要显示的刷新数据.

angularjs angular-ui-router

6
推荐指数
1
解决办法
987
查看次数