最近在使用Vuex的时候,把Vuex和NGRX一起对比看了下,总体而言,都是对FLUX 思想的实现,不过使用起来,个人感觉vuex的使用比NGRX更舒服一些。
下面介绍一些Vuex的实现原理, 本文只是实现一个最简单的类vuex,为了有助于理解vuex的工作方式,实际vuex的实现要比这复杂的多。
Vuex实现的原理
先放代码,在分块讲解:
const Store = function Store (options = {
}) {
const {
state = {
}, mutations={
}, getters={
},actions={
}} = options
const computed = {
}
const store = this
store.getters = {
};
for (let [key, fn] of Object.entries(getters)) {
computed[key] = function () {
return fn(store.state, store.getters); };
Object.defineProperty(store.getters, key,