簡體   English   中英

如何在Vue / Nuxt插件中使用store?

[英]How to use store in Vue/ Nuxt plugin?

我正在編寫一個通過后端進行身份驗證的nuxt應用。 我有一個HTTP插件,可攔截所有HTTP請求。 我需要向所有請求添加身份驗證令牌,該令牌在商店中。 我想知道的是,如何從插件訪問商店?

import axios from 'axios';

var api = axios.create({
   baseURL: 'http://127.0.0.1:8000/api/'
});

api.interceptors.request.use(function (config) {
    config.headers = {
        'Authorization': 'Bearer' + **how do access store?**
    }

    return config;
 }, function (error) {
       return Promise.reject(error);
 });

export default api;

謝謝

您可以嘗試從插件的上下文中使用應用程序商店。 您的插件需要一些更改:

import axios from 'axios';

var api = axios.create({
   baseURL: 'http://127.0.0.1:8000/api/'
});

export default (context, inject) => {
  api.interceptors.request.use(function (config) {
    config.headers = {
        'Authorization': 'Bearer' + context.app.$store.state.your_path_to_token
    }

    return config;
  }, function (error) {
       return Promise.reject(error);
  });

  return api;
}

它是創建store / index.js文件並將其導入插件的另一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM