vuex的语法糖函数,为什么mapGetters没有通过context上去取值?

来源:12-14 API(4)

丶业精于勤

2019-06-15

请问黄轶老师:

mapStatemapActionsmapMutations都是通过getModuleByNamespace函数来获取到对应的模块,然后拿到模块的上下文的state、dispatch、commit。


那为什么mapGetters不通过上下文拿到getters呢?

const getters = module.context.getters
写回答

1回答

ustbhuangyi

2019-06-17

因为获取到了 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 的形式

0
1
丶业精于勤
明白了!
2019-06-17
共1条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4989 学习 · 1038 问题

查看课程