栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

angular.js $ destroy事件-我应该手动解除绑定吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

angular.js $ destroy事件-我应该手动解除绑定吗?

根据Angular文档

$scope

当希望将作用域及其子作用域与父作用域永久分离时,必须在作用域上调用’$ destroy()’,从而通过调用停止参与模型更改检测和侦听器通知。

删除还意味着当前范围可以进行垃圾回收。

如此看来,当

$destroy()
调用时,所有观察者和侦听器都将被删除,并且表示作用域的对象变为
eligible for garbagecollection

如果我们查看

destroy()

源代码,将会看到一行:

forEach(this.$$listenerCount, bind(null, decrementListenerCount, this));

应该删除所有侦听器。

如@glepretre所述,它适用于控制器中的观察者和侦听器。上面列出的同一文档页面指出:

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

因此,如果指令中有特定的侦听器,则应侦听

$destroy
事件并自己进行必要的清理



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448292.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号