【问题标题】:Vuex State Updated only in local scope of mutationVuex 状态仅在局部变异范围内更新
【发布时间】:2020-02-18 08:25:31
【问题描述】:

我正在尝试使用突变更新商店状态。但问题是突变后状态保持不变,并且仅在该突变范围内更新。它更像是向函数传递参数。

期望商店中的状态应该更新但没有发生。存储状态根本没有发生变化,但参数状态正在发生变化。

这是我的实现示例代码。我正在为 Vuex Store 使用模块,这是来自

user.store.js

 export const user = {
  state: {
   user: {},
   isAuthenticated: false
  },
  mutations: {
   updateUser(state, payload) {
     Vue.set(state.user, payload.key, payload.value);
   }
  }
}

编辑 2: 我解决了这个问题,这是由于用户存储模块和 state.user 对象的类似命名。 在我更改了商店模块的名称后,问题得到了解决。

感谢您的贡献。

【问题讨论】:

  • 嗨,Dhruv。您能否在帖子中包含您的代码和数据?这会让人们更容易回答您的问题。
  • 你能分享你的变异代码吗?

标签: vue.js vuex


【解决方案1】:

尝试在你的突变中使用Vue.set

例如:

state: {
    isInteractionEnabled: false
},
mutations: {
    SWITCH_INTERACTION: (state, {status}) => Vue.set(state, 'isInteractionEnabled', status)
},

【讨论】:

    猜你喜欢
    • 2020-12-18
    • 2020-12-17
    • 2021-08-26
    • 1970-01-01
    • 2019-11-30
    • 2018-05-13
    • 2023-03-16
    • 2019-08-06
    • 2019-04-30
    相关资源
    最近更新 更多