我希望能够在一个或多个模型属性上动态创建角度监视。为此,我尝试了以下内容:
O(n*log(n))
然而,这总是在循环的每次迭代中使用数组的最后一个元素。我以前在使用异步代码时已经看到过这种行为,可以在这里发挥作用。如果是这样,如何解决?
答案 0 :(得分:0)
这是因为“在使用范围注册观察者之后,异步调用侦听器fn(通过var fields = ['foo', 'bar'];
for (var i=0, n=fields.length; i<n; i++) {
$scope.$watch('vm.model.' + fields[i], function(newValue, oldValue) {
console.log(fields[i]); //always 'bar'
//logic that was not giving the expected results
});
}
)以初始化观察者” - see the documentation并搜索$的第一个实例在页面中观看。
考虑到这一点,通过在循环的每次迭代中委托给另一个函数来解决它应该很容易,如下所示:
$evalAsync