Actions
actions 是 Model 中负责和外部世界交互的方法。它常见的职责如:
- 获取数据
- 调用API
- 业务操作
- 更新数据(通过 mutation)
- 数据转换
- 组合其他 action
不同于 mutations,actions 是可异步的。
Action 的签名
function ({state, commit, dispatch}, ...args)
- state 当前 module 权限内的 state,只读,不可修改,否则 VueModello 将在控制台发出警告。
- commit(mutation: string, ...args: any) 用于调用 mutation
- dispatch(action: string, ...args: any) 调用本 module 的 action
Dispatch
除测试外,action 不宜直接调用,它将在其他 action 或 Vue 组件的注入方法里通过 VueModello 提供的名为 dispatch 的方法间接调用。
Dispatch 其他 action 的权限
action 仅能 dispatch 本 module 的 action,包括 default module 的 action。
Action name 在 Model 中唯一
因 actions 可被注入到同一个 Vue 组件中,应确保同一个 Model 中所有 actions 都拥有唯一的名称。