Vue.JS Vuex存储并通过依赖项注入访问我的api

时间:2019-07-18 13:30:29

标签: vue.js vuex vuex-modules

我在访问商店模块中的api时遇到困难。我已经创建了一个api实例,并将其传递到vue创建中,就像商店一样。但是,当尝试在模块中实现逻辑时,this。$ api不能像在我的组件中那样工作。有什么方法可以访问我已经创建的api实例?

const api = new Api();


/* eslint-disable no-new */
new Vue({
    components: {App},
    router,
    api,               // <--- I want this.
    store,             // <--- To be accesable in the modules of this
    template: '<App/>'
}).$mount('#app');

那么我可以访问api实例而不在模块或存储中创建新实例吗?

1 个答案:

答案 0 :(得分:1)

我认为您应该能够直接将api注入存储,例如:

const store = new Vuex.Store();
const $axios = axios.create();
store.$axios = $axios;
new Vue({
  components: {App},
  router,
  store,
  template: '<App/>'
}).$mount('#app');

无论如何,对于Axios,它运行良好:https://forum.vuejs.org/t/accessing-axios-in-vuex-module/29414/3