2016-12-25 10 views
0

AngularJS(私はAngularJS 1.4を使用しています)のオブジェクトを深く見ています。 $ watchをトリガしたオブジェクトのどのプロパティをチェックするには?

答えて

1
$scope.$watch('object',function(newVal,oldVal){ 
    if(newVal!=oldVal){ 
    if(Object.keys(newVal).length==Object.keys(oldVal).length){ 
     $scope.keyChanged=comparteValue(newVal,oldVal); 
    } 
    } 
},true) 

function comparteValue(object1,object2){ 
    var keyChange=null; 
    angular.forEach(object1,function(val,index){ 
    if(val!=object2[index]){ 
     keyChange=index; 
    } 
    }); 
return keyChange; 
}; 
0
$scope.simpleObject = { key1: 'someValue', key2:{subKey1:'test'}}; 

$scope.$watch('simpleObject.key1', function(newValue, OldValue){ 
// code here 
}); 

$scope.$watch('simpleObject.key2.subKey1', function(newValue, OldValue){ 
// code here 
}); 

しかし、あなたは正確な値が変更を取得ところ、あなたは、$ broadcasr & $発する

に$を使用してangularjsイベントを使用する必要があります知っていれば
関連する問題