$ scope. $ watch работает только при удалении дерева формы категории в AngularJS

0

У меня есть простое приложение с деревом категорий и телефонов на странице:

<div id="treeView">
            <div dx-tree-view="treeViewOptions"></div>
</div>

Изображение 174551

Я написал функцию часов в своем контроллере:

$scope.$watch('treeViewOptions', function () {
        console.log("TreeView was changed");
    });

Но сообщение в консоли отображается сразу после удаления категории (я) Может кто-нибудь знает, как я могу проверить все изменения в моем древовидной структуре? Спасибо за ваши ответы!

Теги:
treeview
watch

1 ответ

0
Лучший ответ

Вы должны установить для 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. Это означает, что просмотр сложных объектов будет иметь неблагоприятные последствия для памяти и производительности.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню