JimmiJanger
@JimmiJanger
Любопытный активист, под маской ленивого нуба.

Как правильно копировать данные из Vuex?

Дело вот какое, мне нужно в компонент получить данные из $store (vuex), поработать с ними, и в случае чего сохранить обратно во vuex.
Но "ситуёвина" заключается в том (как я понимаю), что метод Object.assign копирует всю реактивность в другой массив .. Ну или как это объяснить, я не знаю... =(
Вот мой метод:
getData(){
      this.allBooks = Object.assign({}, this.$store.getters.getAllBooks())
    }

Окей, далее меняю название первой книги
this.allBooks[0].title = 'test name'
      console.log(this.$store.getters.getAllBooks())


Смотрю в консоль, а название у книги поменялось ... Подскажите что я делаю не так ...

p.s.
Да, совсем забыл объяснить для чего всё это.
Мне нужно каким-то образом проверить изменилось ли название у книг,
а так как названия книг автоматически меняются в моём компоненте и в $store, то узнать какие из книг были переименованы, я никак не могу.
Вот.

Возможное решение
В общем, сегодня с утра, я обратил внимание на "Модули".
т.е. если я помещаю книгу в Модуль, то я могу там вносить изменения, и они не будут динамически корректироваться в глобальном массиве.
Это вроде как, решает мою проблему.
Но я не уверен, нормально ли для такой ситуации городить целый модуль. Либо можно обойтись малыми жертвами. Но иного решения, я к сожалению найти не могу =(

trouble ...
на самом деле, создание модуля мне не помогло. Точнее, я все функции раскидал по разным папочкам и файлам, и стало довольно "миленько" всё выглядеть. Но мою проблему это не решило. И вот когда я уже совсем опустил руки

РЕШЕНИЕ
Ой, да это же StackOverflow
  • Вопрос задан
  • 245 просмотров
Пригласить эксперта
Ответы на вопрос 1
@VegasChickiChicki
Исходя из принципов Vuex.
получить данные из $store (vuex), поработать с ними,
- getters
и в случае чего сохранить обратно во vuex.
- mutations
Ответ написан
Ваш ответ на вопрос

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

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