问题。 我有条目(的表$scope.entries
),每行(NG-重复)有5列,这些列的2定制的各种转变制成的过滤。
现在,在相同的范围,我没有active_entry( $scope.active_entry
),这是每一个秒改变,因为它和工作原理的角度(我猜),全范围正在不断检查,我的过滤器执行。
这导致Batarang 监视表达式去天空高过时间。
我如何使用建立某种形式的隔离范围为active_entry所以我的过滤器不会rended一遍又一遍的每一秒?
正在一个指令来创建隔离范围的唯一途径? 将它的工作? 如果我需要的值从隔离范围后来在控制器?
你问你的问题相当多的问题。 这将是更好地问他们各自在不同的做题。
每当一个角消化周期运行,所有的手表和过滤器将运行。 改变事物Angualar的“内部”会引起消化周期运行。 你是如何改变$scope.active_entry
? 如果你能角的外部改变它,你也许可以做你想做的。 正如你提到的,你也得把这个属性到一个新的子作用域( scope: true
)或隔离范围( scope: {...}
那么你可以调用$scope.digest()
更改后active_entry
)只消化该范围。
创建一个指令是创建一个分离范围的最佳途径。 您可以创建NG-控制器或指令子作用域。
又见https://groups.google.com/d/topic/angular/1XtEAX93ces/discussion