vuex和单纯全局对象的不同
- Vuex 的状态存储是响应式的
- 限制直接修改, 保留每次修改的记录. 改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。
|
|
plugin初始化
- vuex用法就是install时注册$store, 然后再
new Vuex.Store
传给vue option, 子组件便可以获取到根组件的state - 从$options里获取store, 没有就从parent获取, 设置到$store12345678910111213141516function install(_Vue) {if (Vue && _Vue === Vue) returnVue = _VueVue.mixin({ beforeCreate: vuexInit })}function vuexInit () {const options = this.$options// store injectionif (options.store) {this.$store = typeof options.store === 'function'? options.store(): options.store} else if (options.parent && options.parent.$store) {this.$store = options.parent.$store}}