【问题标题】:VueJS: How to get nested object value from vuex store?VueJS:如何从 vuex 存储中获取嵌套对象值?
【发布时间】:2020-10-27 17:59:14
【问题描述】:

我正在尝试访问存储状态数据的嵌套属性,但当我尝试访问时它未定义。我有以下数据

const state = {
  entity: {
    initial: {valid: false},
    general: {valid: false},
    buildFiles: {valid: false},
    license: {valid: false},
    author: {valid: false},
  }
};
const getters = {
  ENTITY: (state: any): Submission => {
    return state.entity; // Works fine
  },
  INITIAL: (state) => {
    console.log(state.entity); // Prints observable with entity and properties
    console.log(state.entity.initial); // Prints undefined
    return state.entity.initial;
  },
  
};

我要做的就是使用组件中的 getter。有什么方法可以访问属性初始值吗?

【问题讨论】:

  • 到目前为止,我在 vuex 商店中没有看到任何问题。您能否分享一下您如何访问组件中的 getter?
  • 您确定在检查 getter 之前没有覆盖整个 entity

标签: vue.js vue-component vuex


【解决方案1】:

我认为您需要将返回状态作为一个函数。你的吸气剂需要一些小改动:试试这样的事情:

const state = () => ({
  entity: {
    initial: { valid: false },
    general: { valid: false },
    buildFiles: { valid: false },
    license: { valid: false },
    author: { valid: false },
  },
})
const getters = {
  ENTITY: (state) => (submission) => {
    return state.entity // Works fine
  },
  INITIAL: (state) => {
    console.log(state.entity) // Prints observable with entity and properties
    console.log(state.entity.initial) // Prints undefined
    return state.entity.initial
  },
}

【讨论】:

    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 2016-10-31
    • 2020-02-08
    • 2018-11-19
    • 1970-01-01
    • 2013-10-11
    • 2016-01-20
    • 2021-09-01
    相关资源
    最近更新 更多