vuex中的辅助函数
vuex提供了辅助函数处理庞大的vuex数据,mapState,mapGetters,mapMutations,mapActions,实际就是把state、getters、mutations、actions整合成一个数组,一次性返回
注意:mapState,mapGetters返回的是属性,所以混入到 computed 中,mapMutations,mapActions返回的是方法,只能混入到methods中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <template> <div v-if="user.userName"> <span>欢迎您:{{user.userName}}</span> </div> </template> <script> import {mapState,mapGetters,mapMutations,mapActions} from 'vuex' export default { name: 'App', mounted(){ console.log(mapGetters(['user']).user.call(this)) }, computed:{ ...mapGetters(['user']), } } </script>
|
使用辅助函数是把vuex中的getters等函数映射到vue中,调用时使用 this.user 即可调用 this.$store.getters.user 函数,传参时正常传参
注意:你在组件中可以使用 this.$store.dispatch(‘xxx’) 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用
1 2 3 4 5 6 7 8 9 10 11 12 13
| import { mapActions } from 'vuex'
export default { methods: { ...mapActions([ 'increment' ]), ...mapActions({ add: 'increment' }) } }
|
原文链接:https://blog.csdn.net/YUHUI01/article/details/84201419