从另一个模块获取器在vuex模块上设置变量Nuxt.js

时间:2018-10-02 06:43:41

标签: javascript vue.js vuex nuxt

该应用程序是使用Nuxt.js构建的。我正在尝试在vuex模块上初始化一个变量,该变量用于在每个操作上调用axios。

store / program.js

let program_url = 'programs/';

export const actions = {
  async programList({commit}) {
    await this.$axios.$get(program_url).then((response) => {
      commit("ALL_PROGRAMS", response);
    });
  },

我面临的问题是此变量取决于另一个vuex模块中的状态变量。我要在这里构建的是 store / program.js ,我想启动一个名为program = <dynamic_id_from_another_vuex_module>/program

的变量

另一个商店文件是 store / university.js

export const state = () => ({
  settings: [],
  id: null
});

export const getters = {
  getId(state) {
    return state.id;
  }
};

那么我该如何在 store / program.js 内部执行以下操作?

let program = store.getters['university/getId'] + 'program';

1 个答案:

答案 0 :(得分:1)

您需要在自己的吸气剂中使用rootState,例如:...

getId(state, getters, rootState) {
    return rootState.university.id  // Here I assume university is the another  module
}

就这样:)