vuex学习心得
2017-08-08 00:00
295 查看
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,后面接载荷
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,后面接载荷
相关文章推荐
- [置顶] vuex 2.0学习心得(中) mutation&action
- [置顶] vuex 2.0学习心得(上)
- 我的MYSQL学习心得(三) 查看字段长度
- 每日学习心得:Js基本数据类型常用方法扩展
- 嵌入式每日学习心得2017.08.14
- 我的MYSQL学习心得(十) 自定义存储过程和函数
- react-router-dom学习心得1.0
- 学习C++的心得体会
- 学习C++心得与值得一看的书
- <<最小割模型在信息学竞赛中的应用>>的学习心得
- 学习了LINUX下用C语言遍历文件夹,一些心得
- MAYA学习心得——起步 小魔
- Python函数Map()和reduce()的区别和第二天学习Python的心得体会
- [Javascript 高级程序设计]学习心得记录7 引用类型(上)
- 近期学习心得
- 我的MYSQL学习心得(十二)
- NUMA与英特尔下一代Xeon处理器学习心得(1)
- 【Java 学习笔记】 String.split使用心得
- java学习心得1
- 计算机科学与技术学习心得(转载)