如何使用混合或子类vuex商店?

时间:2018-06-05 20:46:12

标签: javascript vue.js subclass mixins vuex

我有几个CRUD屏幕,我可以轻松地在其逻辑中重复使用。

我有例如:

ListScreen
|_ CustomerListScreen
|_ ProductListScreen

但是,我看不出每个屏幕如何拥有商店。看起来我需要一个巨大的全球商店。

我希望:

const baseStore = new Vuex.Store({
  state: {
    searching:false,
    data: [],
    listUrl: '/sample'
  },
  actions:{
    search(context, term){
      console.log('SEARCH: ', term);

      context.commit('searching', true);
      context.commit('clear');
      context.searching = true;

      GET(this.listUrl)
      .then(res=>res.json())
      .then(res => {
        console.log('RESULT: ', res);

        context.commit('list', res);
        context.commit('searching', false);
      });
    }
  }
})

const customerStore = new Vuex.Store({
  state: {
    listUrl: '/customer'
  }
})

const productStore = new Vuex.Store({
  state: {
    listUrl: '/product'
  }
})

Modules not work here,因为我需要在每个屏幕中知道我正在谈论哪个模块,而不是让它比一个巨大的全局对象更好。

0 个答案:

没有答案