@webivan1

Можно ли сделать vuex store уникальным для каждого компонента?

Есть компонент, который отображает некую логику и там использован Vuex для удобства.

@foreach ($item in $items)
    <mortgage-list
           :sum="{{ $item->sum }}"
           :min-fee="{{ $item->fee }}"
           :key="{{ $item->id }}"
     ></mortgage-list>
@endforeach

Теперь этот компонент хотят выводить в цикле, то есть их будет много на странице.
Я реализовал такое, но теперь изменяя что-то в одном компоненте, меняется во всех.
Понял что store предназначен для spa, но я делаю некоторые задачи на vue, получаются как модули и в некоторых использую vuex, как теперь быть с этим компонентом? Может как-то есть способ сообщить vuex чтобы он распространял своё влияние только на 1 компонент или все переделывать на локальный state?
  • Вопрос задан
  • 276 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
изменяя что-то в одном компоненте, меняется во всех

Вам следует изменить структуру данных в хранилище - так, чтобы можно было держать там данные сразу для нескольких экземпляров mortgage-list. Сделайте объект, ключами будут id (те, что вы используете в качестве key - они ведь уникальные, правда же?). Ну а значениями - объекты с данными для отдельного экземпляра. В сам компоненте mortgage-list надо добавить вычисляемое свойство, где по id из хранилища будет извлекаться нужный объект.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Djaler
@Djaler
Сеньор-помидор
А почему бы просто не перенести хранение состояния в сам компонент?
Ответ написан
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Или извращаться как-то так https://codeburst.io/dynamic-modules-with-vuex-and...

Или делать нормально с привязкой к какому-то ключу в компоненте, а то как вы сделали-то общий стейт с одним ключом на всех?
Ответ написан
Ваш ответ на вопрос

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

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