vuex映射属性详解mapState、mapGetters、mapMutations、mapActions、modules的使用(一)

vuex映射属性详解

vuex的映射属性不要太爽了!!

命名空间(牢记)

官网介绍:
			模块内部的 action、mutation 和 getter 是注册在全局命名空间的——这样使得多个模块能够对同一 mutation 或 action 作出响应
			如果希望你的模块具有更高的封装度和复用性,你可以通过添加 namespaced: true 的方式使其成为带命名空间的模块。当模块被注册后,它的所有 getter、action 及 mutation 都会自动根据模块注册的路径调整命名。
			
解释一波:
		每个模块都有自己的state,getters,mutations,action,modules,但是这些属性在这个模块没有命令空间(namespaced: true)属性的时候,那么这个模块的state,modules是自己的,而getters,mutations,action是全局的,就是说是定义在最外边的vuex对象的身上的,如果和最外边的vuex对象的方法名字有冲突的时候,两个都会执行,而不是我们理解的会覆盖

不存在嵌套的映射关系

组件内引入vuex
import {mapState,mapGetters,mapMutaions,mapActions} from "vuex"

mapState,mapGetters 会被映射为计算属性,直接使用就可获取到
computed:{
		...mapState(["属性名"]),
		...mapGetters(["getters的方法名"])
}

mapMutaions,mapActions会被映射为方法。在调用的时候直接 @事件="方法名" 就可使用
methods:{
	...mapMutaions(["mutations方法名字"]),
	...mapActions(["actions的方法名"])
}

命名空间的使用

modules:{
		名字:{
        namespaced:true,
        state:()=>({}),
        getters:{},
        mutions:{},
        actions:{}
      }
}

vuex映射属性详解mapState、mapGetters、mapMutations、mapActions、modules的使用(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值