Я настраиваю навигацию в моем SPA (vue), который использует хук beforeRouteEnter
для вызова бэкенда и проверки подлинности пользователя.
При переходе со страницы входа на защищенную страницу, это перенаправляет на ту же страницу входа (если не аутентифицировано). Чтобы объяснить пользователю, что сначала он должен пройти аутентификацию, я хотел бы показать сообщение.
Используя props
, передача данных на страницу входа работает. Однако, если это перенаправление происходит из / login ==> / protectedRoute ==> / login, никакие изменения не вносятся, потому что vue повторно использует этот компонент. В большинстве случаев такое поведение желательно, но в этом случае это не так.
beforeRouteEnter
выглядит следующим образом.
beforeRouteEnter (to, from, next) {
return axios.post('/api/auth')
$.then(result => {
next()
})
.catch(err => {
next({name:"Login", params:{auth: "false"}});
})
}
Если я перейду с '/guestRoute'
на '/protectedRoute'
все работает и данные перенаправляются в компонент '/login'
после перенаправления.
Thx