Пытаюсь сделать авторизацию на Vue.js.
Есть метод регистрации. Он отрабатывает нормально.
registration ({commit}, data) {
return new Promise((resolve, reject) => {
axios
.post(localStorage.getItem('url') + 'user/add', data)
.then(response => {
const token = response.data.result.token
console.log(token)
localStorage.setItem('token', token)
axios.defaults.headers.common['Authorization'] = token
commit('AUTH_SUCCESS', token)
resolve(response)
})
.catch(err => {
commit('auth_error', err)
localStorage.removeItem('token')
reject(err)
})
})
},
В localStorage токен сохраняется, мутация AUTH_SUCCESS тоже выполняется, все вроде ок.
AUTH_SUCCESS (state, token) {
state.status = 'success'
state.token = token
},
Но когда потом пытаюсь с помощью геттеров сделать проверку - выдает undefined.
Геттеры:
const getters = {
isLoggedIn: state => !!state.token,
authStatus: state => state.status
}
В роутере в beforeEach
console.log(store.getters.isLoggedIn)
уже undefined.
console.log(store.getters.authStatus)
- тоже
store в роутер импортирован. Куда смотреть, что не так?