vux的使用

Vuex:是一个公共的状态管理

1.什么时候要去使用Vuex?
当项目足够大的时候(大中型项目)用到Vuex

2.Vuex中要存放什么?
公共的状态,每个组件都需要的一个状态


3.Vuex中有哪些属性?每个属性的作用是什么?
state:用来存放公共的状态

辅助函数:
mapState

1、引入Vuex
2、在组件的computed中进行解构赋值


computed:{
...Vuex.mapState({
val:state=>state.inputVal
})
},


好处:减少了代码的重复性

actions:用来处理异步,以及一些业务逻辑
1、actions里面的方法需要通过dispatch来进行触发
2、actions里面的方法都有2个参数一个是对象(commit,state,dispatch) 一个是params(传递过来的数据)

辅助函数:
mapActions

1、引入Vuex
2、在组件的methods中进行解构赋值


methods:{
...Vuex.mapState({
key:val(actions中的函数名称)
})
},

 


mutations:用来进行数据的修改 修改state中的数据
1、mutations里面的方法需要通过commit进行触发
2、mutations里面的方法都有2个参数 一个是state 一个是params(传递过来的数据)

辅助函数:
mapMutations

1、引入Vuex
2、在组件的methods中进行解构赋值


methods:{
...Vuex.mapMutations({
key:val(mutations中的函数名称)
})
},


getters:相当于Vuex中的一个计算属性

getters中的函数依赖与state中的属性 如果state中的属性发生了改变默认就会触发getters中的方法

辅助函数
mapGetters

computed:{
...Vuex.mapGetters({
key:val getters中的函数
})
},

 

modules
当多人协作的时候每个人都需要操作store。modules用来做仓库的模块化,
让每一个人都用于一个独立的仓库


这个独立的仓库中也是拥有state getters mutations actions

注意:在每个独立仓库导出的时候一定要加一个namespaced:true


当想要调用自己仓库的方法时只需要加上仓库的名称 例子:num/mutationsNumAdd


遵循Vuex的数据流动,如果涉及到了异步则必须遵循Vuex的数据流动,如果没有涉及到异步的情况下则可以直接
通过commit直接触发mutations里面的方法的

4.Vuex特点 遵循单项数据流

posted @ 2019-06-16 20:02  GaGaPei  阅读(551)  评论(0编辑  收藏  举报