【发布时间】:2020-11-29 09:38:21
【问题描述】:
我是 Vue/VueX 的新手,我正在研究一种将 JSON 存储在 VueX 状态的解决方案。起初看起来很简单:
state {
jsonthing: { ... }
}
问题:getter 返回 Observer 类型,而不是 Object 类型。所以我可以这样做并检索整个 JSON 结构:
getters: {
getJSON(state) {
return state.jsonthing;
}
}
但我无法检索 JSON 的节点或单个值,如下所示:
getters: {
getOneNode: state =>
nodeName => {
return state.jsonthing[nodeName];
}
}
}
getter 将state.jsonthing 检索为Observer。我找不到从 Observer 中提取所需 JSON 内容并返回的方法。我知道我可以使用mapState 在我的组件中做到这一点,但这不是我想要的。有没有办法在 getter 中做到这一点?
我目前正在做的是将 JSON 存储为字符串 (JSON.stringify()) 并将其转换回 getter (JSON.parse())。字符串作为字符串检索,而不是Observers。它有效,但它是一个 hack。
虽然我们在这里,但我也找不到Observer 类型的任何文档。如果有人可以删除 URL,我将不胜感激!
【问题讨论】:
标签: javascript typescript vuex