有没有办法使用以下方法订阅多个对象上的事件 $watch
例如
$scope.$watch('item1, item2', function () { });
有没有办法使用以下方法订阅多个对象上的事件 $watch
例如
$scope.$watch('item1, item2', function () { });
$ watch第一个参数可以是角度表达式或函数。请参阅$ scope。$ watch上的文档。它包含有关$ watch方法如何工作的许多有用信息:调用watchExpression时,角度如何比较结果等。
合并值的较为安全的解决方案可能是将以下内容用作$watch
函数:
function() { return angular.toJson([item1, item2]) }
要么
$scope.$watch(
function() {
return angular.toJson([item1, item2]);
},
function() {
// Stuff to do after either value changes
});
您可以使用$ watchGroup中的函数来选择作用域中对象的字段。
$scope.$watchGroup(
[function () { return _this.$scope.ViewModel.Monitor1Scale; },
function () { return _this.$scope.ViewModel.Monitor2Scale; }],
function (newVal, oldVal, scope)
{
if (newVal != oldVal) {
_this.updateMonitorScales();
}
});
怎么样: