#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);