Сохранение объектов, запутанных после назначения

#javascript #vue.js #nuxt.js #vuex

#javascript #vue.js #nuxt.js #vuex

Вопрос:

Как только пользователь входит в систему, я присваиваю state.user значение this.$auth.user . Почему, когда я изменяю значение в state.user , оно отражается в this.$auth.user , в то время как USER_SETUP больше никогда не вызывается? Это проблема с тем, как я назначаю state.user объект?

store/index.js

 export const mutations = {
  USER_SETUP(state) {
    console.log('USER SETUP');
    state.user = this.$auth.user;
  }
}
  

Например, параметр state.user.foo = 'hello' также устанавливает state.auth.user.foo значение hello .

Комментарии:

1. Обе переменные указывают на один и тот же объект. Вы изменяете объект, на который указывают обе переменные.

Ответ №1:

Я, наконец, исправил это с помощью Lodash:

 state.user = _.cloneDeep(this.$auth.user);