Vuex辅助函数

mapState使用公共数据

state 中的变量映射到当前的组件中使⽤

mapState把公共数据(vuex.store) 映射 到本组件内部的计算属性 

映射

// 1. 导⼊辅助函数mapState,它是在vuex中定义的⼀个⼯具函数。
// es6 按需导⼊ import { mapState } from 'vuex'
import { mapState } from 'vuex'
computed: {
 // 说明1: ...对象 是把对象展开,合并到computed
 // 说明2: mapState是⼀个函数
 // ['数据项1', '数据项2']
 ...mapState(['xxx']),
 ...mapState({'新名字': 'xxx'})
}

使用

js中使用:this.xxx
模板上使用:{{xxx}}

直接使用的话 : this.$store.state.xxx

computed: { 
  ...mapState(['xxx']), 
  ...mapState({'新名字': 'xxx'})
}

 如何使用modules中的state

直接使用: this.$store.state.模块名.xxx;  

computed: { 
  ...mapState('模块名', ['xxx']), 
  ...mapState('模块名', {'新名字': 'xxx'})
}

mapGetters

直接使用:this.$store.getters.xxx

computed: { 
  ...mapGetters(['xxx']), 
  ...mapGetters({'新名字': 'xxx'})
}

如何使用modules中的getters

直接使用: this.$store.getters.模块名.xxx

computed: { 
  ...mapGetters('模块名', ['xxx']), 
  ...mapGetters('模块名',{'新名字': 'xxx'})
}

mapMutations

直接使用:this.$store.commit('mutation名', 参数)

methods: { 
  ...mapMutations(['mutation名']), 
  ...mapMutations({'新名字': 'mutation名'})
}

如何使用modules中的mutations(namespaced:true)

直接使用: this.$store.commit('模块名/mutation名', 参数)

methods: { 
  ...mapMutations('模块名', ['xxx']), 
  ...mapMutations('模块名',{'新名字': 'xxx'})
}

mapActions

直接使用:this.$store.dispatch('action名', 参数)

methods: { 
  ...mapActions(['actions名']), 
  ...mapActions({'新名字': 'actions名'})
}

如何使用modules中的actions(namespaced:true)

直接使用: this.$store.dispatch('模块名/action名', 参数)

methods: { 
  ...mapActions('模块名', ['xxx']), 
  ...mapActions('模块名',{'新名字': 'xxx'})
}

 map函数用法汇总

 

  actions和mutations和state的关系图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值