you_are_enot
@you_are_enot
Пограммист любитель

Как использовать vue-router/axios внутри vuex store?

Я пытаюсь вызвать axios внутри vuex store, но получаю ошибку.
Cannot read property 'post' of undefined


const { token } = await this.axios.post('http://localhost:3000/login', formData);


Однако внутр this есть поле _vm, которое содержит router и axios.
const { token } = await this._vm.axios.post('http://localhost:3000/login', formData);


Я мог бы обращаться к axios через _vm. Но такое решение кажется мне неправильным. Есть ли способ решить проблему не прибегая к импорту axios напрямую?

Подключение axios в main.js
import axios from "axios";
import VueAxios from "vue-axios";

Vue.use(VueAxios, axios);
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Just__Den
FULL STACK
Есть ли способ решить проблему не прибегая к импорту axios напрямую?


Есть. Сделать axios, свойством глобального объекта window. Как собственно, обычно и делают.

import axios from 'axios'

window.axios = axios;


затем просто

const { token } = await axios.post('http://localhost:3000/login', formData);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы