【问题标题】:Do I need to manually undo any watches in AngularJS? [duplicate]我需要手动撤消 AngularJS 中的任何手表吗? [复制]
【发布时间】:2016-05-21 03:26:52
【问题描述】:

当一个指令被实例化时,就会配置一个watch。

scope.$watch('propertyName', function(value) {});

当指令被销毁时,我是否采取任何措施来防止内存泄漏?

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

不——当关联的scope 被销毁时,angular 会负责清理手表。

但是,如果您想清除手表; $watch 函数返回一个函数,它会在调用时取消注册手表。

var unregister = $scope.$watch('myVar', function() { /* ... */ });
unregister();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-23
    • 2010-10-19
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    • 2012-12-11
    相关资源
    最近更新 更多