vuex的语法糖函数,为什么mapGetters没有通过context上去取值?
来源:12-14 API(4)

丶业精于勤
2019-06-15
请问黄轶老师:
mapState
、mapActions
、mapMutations
都是通过getModuleByNamespace
函数来获取到对应的模块,然后拿到模块的上下文的state、dispatch、commit。
那为什么mapGetters
不通过上下文拿到getters呢?
const getters = module.context.getters
写回答
1回答
-
因为获取到了 val,val 是 namespace + val 拼接的,就是当前的 getter key,那么就可以通过 this.$store.getters[val] 访问到了,如果你用 module.context.getters 的话,val 就不需要拼接 namespace。直接 module.context.getters[val] 也是可以的。
你只要知道 getters 实际上都是在 this.$store 上的,只不过 key 是 namespace/key 的形式012019-06-17
相似问题
什么是语法糖
回答 1
为什么需要Proxy机制呢?
回答 2