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

Как следить за состоянием множества на странице?

Доброго времени дня, делаю блок фильтров товаров на сайте, который представляет набор полей с разными именами и значениями. в среднем на странице будет 3-5 фильтров. столкнулся с проблемой отслеживания состояния всех этих элементов как единого целого. Пробовал указывать v-model="filter['name']" и вешать вотчер на filter, но этот вотчер срабатывает только при изменение ключей массива, но не значений. На изменение значений не реагирует.

Как проще следить за состоянием набора полей фильтров, для последующего обновления страницы товара?
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Игра на Vue.js
    1 неделя
    Далее
  • OTUS
    Vue.js разработчик
    4 месяца
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Пробовал указывать v-model="filter['name']" и вешать вотчер на filter, но этот вотчер срабатывает только при изменение ключей массива, но не значений. На изменение значений не реагирует.

По умолчанию изменения свойств объектов не отслеживаются.
Для этого надо указать deep: true в настройках watcher'а:

watch: {
  filters: {
    deep: true,
    handler(val) {
      console.log(JSON.stringify(val, null, 2));
    },
  },
},
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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