У меня есть этот маршрут в моем файле vue router.js.
routes: [{
path: "/",
component: Home,
beforeEnter: (to, from, next) => {
if (!store.state.is_login) {
next('/login')
}
next()
}
}]
Я использую параметр beforeEnter для перенаправления пользователя, если store.state.is_login === true
первая проблема: поэтому, когда я ввожу URL в браузере, я буду перенаправлять на страницу / логин.это работает нормально.но когда я нажимаю кнопку с логотипом, эта функция beforeEnter не работает.это моя кнопка, которая использует:
<router-link to="/" class="bp-logo"><Logo />home</router-link>
вторая проблема:
- is_login находится в моем store.state.is_login
- Я храню свой токенв localStorage
- user_info находится в store.state.user
проблема:
условие 1: если! is_login перенаправить на / login.
условие 2: если токен существует и! is_login => запросить бэкэнд / пользователя с токеном и получить user_info и установить is_login true.
условие 3: если! Is_login &&! Token перенаправить на / login