我想观察字典中的变化,但由于某种原因,手表回调没有被调用。
这是我使用的一个控制器:
function MyController($scope) {
$scope.form = {
name: 'my name',
surname: 'surname'
}
$scope.$watch('form', function(newVal, oldVal){
console.log('changed');
});
}
这是小提琴。
我期望$watch回调在每次更改姓名或姓氏时被触发,但它没有发生。
正确的做法是什么?
对于任何想要观察对象数组中对象的变化的人来说,这似乎对我有用(因为本页上的其他解决方案没有):
function MyController($scope) {
$scope.array = [
data1: {
name: 'name',
surname: 'surname'
},
data2: {
name: 'name',
surname: 'surname'
},
]
$scope.$watch(function() {
return $scope.data,
function(newVal, oldVal){
console.log(newVal, oldVal);
}, true);
对于任何想要观察对象数组中对象的变化的人来说,这似乎对我有用(因为本页上的其他解决方案没有):
function MyController($scope) {
$scope.array = [
data1: {
name: 'name',
surname: 'surname'
},
data2: {
name: 'name',
surname: 'surname'
},
]
$scope.$watch(function() {
return $scope.data,
function(newVal, oldVal){
console.log(newVal, oldVal);
}, true);