【问题标题】:Are $scope watchers and listeners automatically removed when $scope is destroyed销毁 $scope 时是否会自动删除 $scope 观察者和侦听器
【发布时间】:2015-01-29 16:43:23
【问题描述】:

我只是想知道是否有任何 $scope.$watch/$scope.$watchCollection/$scope.$on 在 $scope 上调用 $destroy 事件时会自动注销。我看到它们都返回了一个注销函数,我想知道在 $scope 销毁事件上调用这些函数是否是一种很好的做法,或者 Angular 会自己这样做。我现在出于性能原因这样做,但如果这种情况自动发生,那么我将停止直接调用这些函数。

【问题讨论】:

    标签: angularjs angularjs-scope


    【解决方案1】:

    如果您正在侦听 $destroy 事件,则意味着您的 $scope 将被销毁,因此所有 $watches 将自动删除,因此您不需要这样做,这就是为什么最好在当前注册 $watches $scope 而不是$rootScope(因为只要应用程序正在运行或您手动取消注册,它们就会一直存在)。如果您自己调用 $destroy 事件/方法,也是一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 2012-07-17
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多