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

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

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

Как проще следить за состоянием набора полей фильтров, для последующего обновления страницы товара?
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • HTML Academy
    Vue.js 3 — разработка клиентских приложений
    1 месяц
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • Skillfactory
    Специализация Frontend-разработчик
    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));
    },
  },
},
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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