javascript - 从另一个模块 getter Nuxt.js 在 vuex 模块上设置变量

标签 javascript vue.js vuex nuxt.js

该应用程序是使用 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';

最佳答案

您需要在 getters 中使用 rootState ,如下所示...

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

就是这样:)

关于javascript - 从另一个模块 getter Nuxt.js 在 vuex 模块上设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52603192/

相关文章:

javascript - jQuery : Running script in the address bar

javascript - 如何使用 firebase 信息设置变量

javascript - 使用 ng-model-options updateOn :blur with uib-datepicker popup

javascript - 为什么 url 查询字符串不传递变量值?

javascript - 是的,Formik、LessThan 或 Equal

webpack - 为什么我无法使用 Webpack 编译 SASS?

javascript - VueJS : How To Detect Environment

javascript - 旧版浏览器中的 Vue.js 条件渲染

javascript - Store 无法动态注册动态导入的模块