vuex学习心得

1,vuex是单一状态树,管理组件共享的变量,组件怎么样获得vuex数据呢,最简单的办法就是在computed里return 出vuex里的数据,

2,入口文件中引入‘vuex’,vue.use(vuex)来注入全部组件,以保证store能被每个组件访问,new vuex.store()来创建store,state:state来注册数据,state可以事先在别的模块中已被定义

3,store有自己的属性:state,mutations,actions,getters,plugins等等,getters相当于普通vue组件的计算属性,目的是对state在源头上做初步的粗略加工,比如说过滤,这样做的好处是,普通组件不需要重复计算

4,mutations是触发状态变化的唯一途径,别的方法虽然可以改变state,但是做不到表现层和数据层的同步变化,mutations同样可以事先在别的模块中定义,方便统一管理,每个mutations都是一个具名函数,函数名就是所谓的type,每个mutations的第一个参数必须是state,第二个参数就是所谓的载荷(可选),也就是希望给原state增加(或减少)的东西,mutations必须通过store.commit(,)触发,相应的,第一个参数就是type名,第二个可选参数可以是任意值,但是一般是对象,甚至type可以和载荷写在同一个对象中,传给store.commit()使用

5,以map开头的方法都是vuex的方法,有mapState,mapMutations,mapActions,maPgetters等,通过import{}from ‘vuex’按需使用,map方法意为映射,都是为了写法方便而使用,其实就是为了不写this.$store.state...这些字,他们在普通组件里的computed和methods里被定义,computed当然写mapGetters和mapStates,methods里面写mapMutations和mapActions

6,类似于...mapState这样的写法,目的是将vuex中的变量和组件的局部变量混合为一个对象供局部组件使用,毕竟,并不是所有的数据都必须是vuex来提供

7,mutations必须严格限定为同步操作,要进行异步操作则必须使用actions,actions接受一个和store的克隆版作为参数,拥有与store一样的属性和方法,参数解构后的写法是actionName({commit}){commit(mutationName)},函数体内可以执行异步操作,action的触发方法是store.dispatch( , ), 第一个参数是actionName,后面接载荷

转载于:https://my.oschina.net/u/3499937/blog/1504638

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值