美文网首页
参考element-ui的自定义Store

参考element-ui的自定义Store

作者: 令狐铁蛋 | 来源:发表于2018-08-29 13:36 被阅读0次

基本框架:这是一个Vuex的组件级的解决方案

  1. 解决父子,兄弟组件的通信问题
  2. 解决Vuex的单例问题,因为Vuex是单例的,所以需要重复使用的组件不应该依赖Vuex,会造成多个实例公用一套状态
const Store = function (initialState = {}) {
    this.state = {
        loading: true
    };

    Object.assign(this.state, initialState);
}

Store.prototype.mutations = {
    async loadstart(state) {
        state.loading = true;
    },
    async loadend(state) {
        state.loading = false;
    }
};

Store.prototype.commit = function (name, ...args) {
    const mutations = this.mutations;
    if (mutations[name]) {
        return mutations[name].apply(this, [this.state].concat(args));
    } else {
        throw new Error(`Action not found: ${name}`);
    }
};

export default Store;

相关文章

网友评论

      本文标题:参考element-ui的自定义Store

      本文链接:https://www.haomeiwen.com/subject/tmgfwftx.html