【发布时间】:2018-01-19 11:58:31
【问题描述】:
在我的 vuex /store/state.js 中,我有一个如下所示的导出默认值:
export default {
foo: {
bar:{
tar: {
info: 42
}
}
}
}
所以,每当我想访问info 时,我通常都会使用这样的方法;
methods: {
getInfo () {
return this.$store.state.foo.bar.tar.info
}
}
这只是为了演示目的,实际上我的情况要差一些,但我最终还是这样做了,所以我尝试使用计算的 prop 最小化代码:
computed: {
info () {
return this.$store.state.foo.bar.tar.info
}
}
现在,我只调用info,但仍然不确定是否有更好的方法来获取值,因为有时我只需要在页面中调用 info 一个,所以我必须使用完整路径或创建它的计算属性。
有没有其他方法可以做到这一点
【问题讨论】:
-
你可以在 vuex 状态中写一个 getter。
-
@puelo 这实际上是我一直在尝试学习的东西,但不知道它是如何完成的。有链接吗?
-
吸气剂可能会有所帮助,但您应该问问自己是否真的需要嵌套那么深的东西。如果您要做到这一点,那么您的商店可能做得太多,您只需将商店分成多个模块。
-
我和 Stephan-v 在一起。我总是尽量避免将复杂的嵌套对象放入状态。关于 getter,文档解释得很好。