做了几个vue项目,但是一直没用上vuex,又总担心那天会用上,遂上班时间偷偷划一波水来学习下vuex。
鉴于官方文档已经说的比较清楚了,此篇文章仅作为自己个人理解笔记。
对照组件来学习
- state==>约等于组件中的data,存储数据
- mutations==>约等于组件中的同步methods,commit触发事件
- actions==>约等于组件中的异步事件,dispatch触发事件
- getters==>约等于组件中的computed
export default new Vuex.Store({
state: {
name:'zs'
},
mutations: {
changeName(state,str){
return state.name+=str
}
},
actions: {
},
getters:{
},
modules: {
}
})
vuex中还有mapState,mapMutations,mapGetters 等辅助函数来让我偷懒,在掌握了基础用法之后,想有更多时间摸鱼的小伙伴可移步官方文档(用了的人都说好~)
最后但同样重要的是modules,当项目中模块足够多,需要存储处理的数据太多的时候,如果都写在一起会显得很臃肿,就可以把不同模块分割出来放在单一的文件内,每个模块也都拥有自己的 state、mutation、action、getter。