Задать вопрос

Почему не работает watch?

При использовании метода setParams не срабатывает watch section

В чем может быть проблема?

props: {
            section:{ type: Object, default: false },
            showModal:{ type: Boolean, default: false }
        },

methods: {
setParams(param, itemId) {

                let index = this.section.filter_values[param].indexOf(itemId)

                if (index >= 0) {
                    this.section.filter_values[param].splice(index, 1);
                } else {
                    this.section.filter_values[param].push(itemId)
                }
            },
}


watch: {
            section (val, oldVal) {
                console.log('change section filter');
            }
        }
  • Вопрос задан
  • 1265 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
Наблюдатель не смотрит в глубину. Для этого нужно Прописать за каким конкретным свойством нужно наблюдать:
watch('section.filter_values.param')

Или установить дополнительный параметр deep: true. Тогда он будет рекурсивно отслеживать все свойства на любом уровне вложенности.

Подробнее: https://vuejs.org/v2/api/#vm-watch
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
deep: true вотчеру добавьте
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы