.then(() => {
localStorage.setItem('access_token', access_token);
this.$router.push({ name: 'currencies', reload: true});
});
},
Делаю так. Но страница куда редиректит не видит localStorage.getItem('access_token')
пока не обновлю браузер. Как починить?
зачем вы авейтите промис, если вызываете .then - вы или крестик снимите, или трусы наденьте
но впрочем это не должно ролять, мне кажется. вы уверены что access_token сетится? чото не видно, откуда вы его берете.
Хах хорошее замечание, но проблему не решит
ну да. но вопрос прежний - откуда берется access_token?
В том компоненте куда редирект data() { return { isLoggedIn: false } }, created() { this.isLoggedIn = !!localStorage.getItem('access_token') },
нет, я про этот - у вас access_token переменная нигде не объявлена (в сниппете бишь)
я не профи, но кажись он берет с localStorage
А я на самом деле в мутаторе это делал, так написал чтобы код упросить
если вы проверили, что в access_token в момент записи в LS есть значение, то вы поймали какую-то магию
у вас created вызывается один раз при создании компонента, если компонент не уничтожается, а потом опять не создается, то с чего бы ему вызываться второй раз?
А если я после логина хочу скрыть часть меню (Проверяю по локалстореджу логин) и это меню в родительском компоненте. Есть вариант его скрыть? Или это костыли будут и лучше полностью в отдельный компонент его? onSubmit() { this[AuthActionTypes.Login]({ ...this.$data }) .then(() => { localStorage.setItem('access_token', access_token); this.$router.push({ name: 'currencies', reload: true}); }); },
Обсуждают сегодня