# Build your own vuex
# 源码解析
# 示例源码
# vuex v1 (opens new window)
实现功能:
- vuex如何注入到 vue view model 实例中
- vuex
- vue 1.x 和 2.x 版本的 vuex 安装
# vuex v2 (opens new window)
基于 v1 添加的功能:
- 定义了 Vuex Store 构造器方法
- 初始化了 store 的 state
- 实现了 commit 方法
- mutation的初始化和注册
- 例子中可以通过 mutation 实现简易的状态变更
# vuex v3 (opens new window)
基于 v2 添加的功能:
- 初始化了 store 中的 getter,计算属性
- vm 实例可以使用 store 的计算属性
- store内部定义了一个 vm 实例,来实现响应式
# vuex v4 (opens new window)
基于 v3 添加的功能:
- 添加了 dispatch 方法
- 实现了 actions 的定义和处理
- actions的注册和安装
# vuex v5 (opens new window)
基于 v4 添加的功能:
- 添加了 subscribe 方法,方便用户订阅 state 变化时的事件
- 内部维护了一个订阅队列,在commit改变 state时,依次调用
# vuex v6 (opens new window)
基于 v5 添加的功能:
- 添加了 registerModule 方法,动态注册 module
- 添加了 unRegisterModule 方法,动态解绑 module
# vuex v7 (opens new window)
基于 v6 添加的功能:
- 添加了 replaceState 方法
- 添加了 watch 方法
- 添加了内部的 _withCommit 方法,开发环境监听 state 的改变是否来自 mutation
# vuex v8 (opens new window)
基于 v7 添加的功能:
- 添加了子模块的注册和安装
- 内部处理子模块的 state 的读取和赋值