У меня есть простое приложение с деревом категорий и телефонов на странице:
<div id="treeView">
<div dx-tree-view="treeViewOptions"></div>
</div>
Я написал функцию часов в своем контроллере:
$scope.$watch('treeViewOptions', function () {
console.log("TreeView was changed");
});
Но сообщение в консоли отображается сразу после удаления категории (я) Может кто-нибудь знает, как я могу проверить все изменения в моем древовидной структуре? Спасибо за ваши ответы!
Вы должны установить для objectEquality значение "true"
$scope.$watch('treeViewOptions', function() { console.log("TreeView was changed"); }, true);
Из https://docs.angularjs.org/api/ng/type/$rootScope.Scope
$ watch (watchExpression, слушатель, [objectEquality]);
Когда objectEquality == true, неравенство watchExpression определяется в соответствии с функцией угловых.равнов. Чтобы сохранить значение объекта для последующего сравнения, используется функция угловой.copy. Это означает, что просмотр сложных объектов будет иметь неблагоприятные последствия для памяти и производительности.