Vue学习笔记-Vuex四个map方法的使用

在组件中导入方法

import {mapState,mapGetters,mapActions,mapMutations} from 'vuex'

mapState方法的使用

注意:这里的…是ES6语法,表示将该的对象所有属性展开,放入其所在上级对象中

......
computed:{
	//借助mapState生成计算属性,从Vuex中的state对象中读取数据(对象写法)
	...mapState({sum:'sum',school:'school',subject:'subject'})
	//借助mapState生成计算属性,从Vuex中的state对象中读取数据(数组写法)
    ...mapState(['sum','school','subject']),
}

配置完毕之后,当组件访问state中的数据,可以由原来的$store.state.sum等价为sum,其他数据以此类推

mapGetters方法的使用

......
computed:{
	//借助mapGetters生成计算属性,从Vuex中的getters对象中读取数据(对象写法)
    ...mapGetters({
      bigSum:'bigSum',
    }),
    //借助mapGetters生成计算属性,从Vuex中的getters对象中读取数据(数组写法)
    ...mapGetters(['bigSum']),
}

配置完毕后,当组件访问getters中的数据,可以由$store.getters.bigSum替换为bigSum

mapActions方法的使用

帮助我们生成与actions对话的方法,即包含$store.dispatch(xxx)的函数
注意:需要传递参数时,需要在组件进行方法调用时传参,例如按钮点击事件:
<button @click="incrementOdd(value)"></button>

methods:{
	//用于取代 $store.dispatch('incrementOdd'),对象写法
	...mapActions({
		incrementOdd : 'incrementOdd',
		incrementWait : 'incrementWait'
	}),
	//数组写法
	...mapActions(['incrementOdd','incrementWait'])
}

mapMutations方法的使用

帮助我们生成与mutations对话的方法,即包含$store.commit(xxx)的函数
注意:需要传递参数时,需要在组件进行方法调用时传参,例如按钮点击事件:
<button @click="increment(value)"></button>

methods:{
	...mapMutations({
		increment:'ADD',
		decrement:'DECREMENT'
	})
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值