[vue]初探vue生态核心插件Vuex
为什么会有 Vuex 这个东西 ? 现代前端框架主要解决的是 事件 -> 状态 -> UI 将传统前端在两个过程的代码剥离出来,变得更加容易维护; vue的声明式渲染,解决了 状态 和 UI 的同步问题,从而使我们不需要由于状态发生改变去写大量的命令式改变 dom 的代码。 而类似于 vuex 这类状态管理的库,则解决了 事件 -> 状态 这个过程的维护问题。这类库所做的事情就是管理从 事件源映射到状态变化 这个过程(将这个映射过程 从视图组件中剥离出来 ,组织好这一部分的代码,在组件外部进行状态的管理) 具体表现就是一个全局的数据中心 store 配置,每个组件进行更新的时候就通知数据中心,数据中心改变后,再去触发每个调用它的组件进行更新(这种更新是响应式的);几个核心概念就是 mutations 里的方法可以直接 mutate store 中的状态,并且 mutation 过程必须同步的,需要通过 commit 去触发;而 actions 则允许异步的操作,通过 commit 去触发 mutation ,达到间接修改 store 的目的, action 本身需要通过 disptch 去触发。 Vuex与全局对象的区别 其实, vuex 与全局对象有一定的共同之处,那就是状态会被全局共享,无论是嵌套多少组件… 每一个 Vuex 应用的核心就是 store(仓库)。“store