一句话概括 Vuex:

集中式储存管理的状态管理模式

自己的理解:

  • 可以简单的将其看成把需要的多个组件 共享的变量 全部 储存 在一个 对象 里面
  • 然后将这个对象放在 顶层Vue 实例 中,让其他组件可以使用,
  • 并且让这个对象里面的 属性 做到 响应式

Vuex 状态管理图例:

avatar

图解:

正常操作流程是:

  1. Vue 组件引用 State
  2. 然后发布 Action(action 里面是进行网络请求 异步 操作)
  3. 再然后 commit 到 Mutations,修改 State(在 mutations 里面修改 State)
Dectools:跟踪每次在 Mutations 里面 修改 State同步 操作记录(只能跟踪到 在 Mutations 里修改 State 的操作记录,且是 同步 的操作)
虽然 Vue 组件可以反向直接修改 State,但是官方推荐按上图的正常流程操作,因为绕开了 Action 就没有异步操作的过程;绕开 Mutations,Devtools 就不能跟踪到修改记录

AndyHu
23 声望1 粉丝