Vue教程22:mapState、mapActions、mapGetters
示例代码请访问我的GitHub:https://github.com/chencl1986/vue-tutorial该节教程代码可通过npm start运行devServer,在http://localhost:8080/查看效果map映射函数map映射函数映射结果mapState将state映射到computedmapActions将actions映射到...
·
阅读更多系列文章请访问我的GitHub博客,示例代码请访问这里。
该节教程代码可通过npm start运行devServer,在http://localhost:8080/#/index查看效果
map映射函数
map映射函数 | 映射结果 |
---|---|
mapState | 将state映射到computed |
mapActions | 将actions映射到methods |
mapGetters | 将getters映射到computed |
mapState的使用
代码示例:/lesson21/src/components/Index.vue
首先需要引入map函数:
import { mapState, mapActions, mapGetters } from 'vuex'
在computed中使用mapState:
computed: {
...mapState(['a', 'b']),
}
就可以代替这段代码:
computed: {
a() {
return this.$store.state.a
},
b() {
return this.$store.state.b
},
}
mapActions的使用
代码示例:/lesson21/src/components/Index.vue
在methods中添加addA和addB的映射
methods: {
...mapActions(['addA', 'addB']),
},
等价于:
methods: {
addA(n) {
this.$store.dispatch('addA', n)
},
addB(n) {
this.$store.dispatch('addA', n)
},
}
mapGetters的使用
代码示例:/lesson21/src/components/Index.vue
在computed中添加count的映射:
computed: {
...mapGetters(['count'])
}
等价于:
computed: {
count() {
return this.$store.getters.count
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献4条内容
所有评论(0)