Похоже, вы используете модули для пространства имен ваших геттеров.Чтобы определить, в чем проблема, почему бы не попробовать сделать это сначала без модулей, как в store.getters.hasAccessToken
и ...accessToken
.Если это работает, то, возможно, у вас правильно настроен модуль, в частности, вы могли пропустить namespaced: true
в модуле.См .: https://vuex.vuejs.org/modules.html
Не забудьте также вернуть объект конфигурации в перехватчике.
Для чего бы то ни было, я использую нечто подобное, и оно прекрасно работает без модулей.Выглядит так:
import axios from 'axios'
import store from '../store'
export default class BaseDataService {
constructor () {
this.http = axios.create({baseURL: '/api/'})
this.http.interceptors.request.use(config => {
config.headers.Authorization = 'Bearer ' + store.state.principal.token
return config
})
}
}