下面是有角度的文档.我正在看几个属于此范围的变量,以构建一个用于ng-grid的过滤器字符串.当这个范围被破坏时,我需要通过从$scope.$watch调用返回值来解除它们,还是破坏足够的范围来处理它?如果被观看的变量不属于此范围,该怎么办?
如果我不“篡改”正在被破坏的变量与范围,我会泄漏内存/导致性能问题.
$摧毁()
从父范围中移除当前范围(及其所有子项).删除意味着对$digest()的调用将不再传播到当前范围及其子项.删除也意味着当前范围有资格进行垃圾回收.
$destroy()通常由诸如ngRepeat的指令用于管理循环的展开.
在范围被破坏之前,在此范围上广播$destroy事件.应用程序代码可以注册一个$destroy事件处理程序,它将有机会执行任何必要的清理.
请注意,在AngularJS中,还有一个$destroy jQuery事件,可以在元素从DOM中删除之前清除DOM绑定.