Использую nuxtjs/axios, создал плагин для работы как указали на
сайте
export default function ({ $axios }, inject) {
const api = $axios.create({
headers: {
common: {
'X-Requested-With': 'XMLHttpRequest',
'Accept' : 'application/json',
}
}
})
api.setBaseURL('http://laravel/api/')
inject('api', api)
}
Подключаю плагин
plugins: [
'@/plugins/axios',
],
через хук beforeRouteEnter, вызываю action load_article
async beforeRouteEnter(to, from, next) {
await store.dispatch('article/load_article', {
id: to.params.id
})
}
при вызове получаю Uncaught (in promise) TypeError: _this.$api is undefined. То что undefined это понятно!
export const FETCH_ARTICLE = 'load_article'
export default {
async [FETCH_ARTICLE]({ commit }, payload) {
let endpoint = 'article/'+payload.id
const data = ( await this.$api.get(endpoint) ).data
commit(SET_ARTICLE, {
data: data.data
})
},
}
Вопрос в том как в этом случае подключить axios? Использовал $axios.$get, получаю undefined
Подключал и без плагина, через nuxt.config.js файл
axios: {
baseURL: 'http://laravel/api/',
}