【问题标题】:Store objects entangled after assignment存储赋值后纠缠的对象
【发布时间】:2020-10-29 13:12:35
【问题描述】:

一旦用户登录,我将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

【问题讨论】:

  • 两个变量都指向同一个对象。您正在改变两个变量指向的对象。

标签: javascript vue.js nuxt.js vuex


【解决方案1】:

我终于用lodash修复了它:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-12
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 2022-08-14
    • 2023-01-20
    相关资源
    最近更新 更多