Скажем, я внимательно наблюдаю за объектом в AngularJS (я использую AngularJS 1.4). Как я могу проверить, какое свойство объекта активировало $ watch?
0
jsmtslch
25 Дек 2016 в 21:42
2 ответа
$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;
};
1
Adrian Zelada Torrez
25 Дек 2016 в 22:56
$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
});
Но если вы знаете, где именно меняются значения, вам следует использовать события angularjs, используя $ on, $ Broadcasr & $ emit.
0
Mohammed Ramadan
26 Дек 2016 в 00:41
Похожие вопросы
Новые вопросы
angularjs
Используйте для вопросов об AngularJS (1.x), JavaScript-фреймворке с открытым исходным кодом. НЕ используйте этот тег для Angular 2 или более поздних версий; вместо этого используйте тег [angular].