由于没有进入这里的原因,我在$ scope上有一个名为placements[]
的变量。与$scope.object['placements[]'] = { .. }
中一样。我想观察这个变量,但似乎没有办法观察这样的变量,因为$watch
采用了表达式。
没有任何关于如何在角度文档上处理这个问题,所以如果有人有一个很棒的提示或技巧。我目前的解决方法是$scope.$watch('object', function() {} , true)
,但这远不是一个完美的解决方案。
答案 0 :(得分:1)
我是个笨蛋。显然,因为角度表达式是有效的javascript表达式,所以你可以这样做:
$scope.$watch("object['placements[]']", callback, true);
丑陋,但它有效
答案 1 :(得分:-1)
$scope.$watch
可以使用函数或字符串。在这种情况下,传递返回对象的函数是有意义的
$scope.$watch(function() { return $scope['placements[]']; }, function(value) { ... });
这假设你的范围对象如下:
{
'placements[]': {...}
}