vuex是一个专门为vue.js设计的集中式状态管理架构
状态?
我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态。简单的说就是data中需要共用的属性。
状态自管理指组建中自己管理自己与其他组件互不干扰。
状态共享多个组件共享一个,比如store.js
vuex的核心包括哪些部分?
vuex状态管理模式
state: 最底层的初始数据 对应data
getters: 相当于vue的计算属性(store),对state数据进行处理 、扩展 ,可以在多个组件下进行复用 ,通过mapState映射到conputed中
mutations: 当需要修改state时,在这里定义mutations
actions: 当需要对多个mutations进行处理时,在actions进行mutations派发,异步处理也是在这里定义
module:模块组vuex中
action和mutation的用途和区别?
mutation作用:更改state 类似事件
每个mutation对象都有字符串类型(type)与回调函数,在回调函数内进行状态修改,回调函数的第一个参数
为state 因为只有mutation才能改变state
action作用:提交mutation,可包含异步操作
状态说明: action函数接收一个与store有相同属性方法的实例commit来提交mutation actions和Mutations功能基本一样,不同点是,actions是异步的改变state状态,而Mutations是同步改变状态vuex的map辅助函数 mapState mapGetters mapMutations
mapActionsaction有两种提交方法,
1.commit用来提交mutation
2.dispatch用来获取action里面的操作事件
async await promise