每一个Vuex应用的核心就是store吗

为什么我们在组件中直接this.$store.xx,就可以對vuex进行操作

每次我们在使用vuex的时候需要

// 对低于vue低于2的版本处理

在applyMixin方法中,先获取Vue的版本号低于2的版本通过重写Vue的原型方法_init来实现目的,由于我对于低版本的vue不了解此文就不对此分析了。对于vue2.x版本使用全局混入的机制,使用全局混入它将影响每一个之后创建的 Vue 实例。在实例生命周期beforeCreate的会执行vuexInit方法

* Vuex初始化钩子,注入到每个实例的钩子列表中

以上就是为什么我们再组件中this.$store都能指向Vuex的Store实例对象

state就是用来存放数据若是对数据進行处理输出,比如数据要过滤一般我们可以写到computed中。但是如果很多组件都使用这个过滤后的数据这就是getters存在的意义。我们可以认为【getters】是store的计算属性。

1)共同点: 能够修改state里的变量并且是响应式的(能触发视图更新)

若将vue创建 store 的时候传入 strict: true, 开启严格模式,那么任何修改state的操作只要不经过

1)action主要处理的是异步的操作,mutation必须同步执行而action就不受这样的限制,也就是说action中我们既可以处理同步也可以处理异步的操作

背景:在Vue中State使用是单一状态树结构,应该的所有的状态都放在state里面如果项目比较复杂,那state是一个很大的对象store对象也将对变得非常夶,难于管理

我要回帖

 

随机推荐