1. 概念
- state 是用来存状态一个对象
- getter 是派生出的状态,想当与 动态计算属性函数
- mutation 是改变状态的方法,但是不能直接调用,需要用
store.commit
方法来执行,方法内部是同步来修改 state 的,不能是异步的。mutation 的第一个参数是 state,第二个参数是 payload,第三个参数是rootState,第四个参数是rootGetter。commit 的第一个参数是mutation的名称,第二个是 payload 对象,第三个如果是触发全局命名空间的 mutation,传递{root:true}
- action 支持异步操作,提交的是 mutation,需要用
store.dispatch
方法来执行、因为可以执行 Promise 的 action 返回值,并且本身返回 Promise ,可以控制异步流程。action 第一个参数是 context 里面包含 state,getters,rootState,rootGetter,第二个参数是payload。dispatch
的第一个参数是mutation的名称,第二个是 payload 对象,第三个触发全局命名空间的 action的时候传递{root:true}
- module 是表示上述的对象可以分不同模块放在一起,可以嵌套多层 module,可以开启命名空间,子 module 默认继承父模块命名空间,也可以继续开启当前层的命名空间
2. 子模块内发布全局的 action
- action 为一个对象,
{root:true,handler(context,payload){}}
,handler
为 action 的函数
3. …mapState
4. …mapGetters
- 第一个参数可以是模块的路径,如果不给第一个参数,则表示是全局的 getters
- 如果没有第一个参数,第二个参数就放在第一个参数上,参数可以是对象,或者数组。如果是对象表示用 key 为新的名称,value 可以是参数为 state 的函数返回一个state 的对象,也可以是字符串,字符串表示的是state 中的属性名;如果是数组,表示的是要数组中那些名字的
5. …mapActions
了解 工作生活心情记忆 的更多信息
Subscribe to get the latest posts sent to your email.