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 都拥有唯一的名称。

results matching ""

    No results matching ""