#vue.js #authentication #vue-router #page-refresh #routerlink
#vue.js #аутентификация #vue-router #обновление страницы #routerlink
Вопрос:
https://github.com/ahcene-bouazza/P7_Bouazza_Ahcene_Grouporama.git вот моя ссылка на github для моего проекта
- Моя проблема в том, что когда я нахожусь на странице входа в систему, я нажимаю на «надпись» регистрации, она открывает мне страницу регистрации нормально, но когда я обновляю браузер, он возвращается на страницу входа
- Другая проблема заключается в том, что я ввожу свою регистрацию непосредственно в адресе своего браузера «http://localhost:8080/signup » он не попадает туда, но переходит на страницу входа в систему http://localhost:8080/
страница входа
страница регистрации
Большое вам спасибо, если вы сможете найти решение для меня, это будет очень оценено
Ответ №1:
Вы App.vue
перенаправляете вызов по mounted()
вызову this.$router.push('/')
, но у вас есть this.user.id
только после входа в систему, без пользовательских данных вы вызываете перенаправление на страницу входа. Это неверно. Просто прочитайте официальные документы documentaion, и вы поймете, как правильно использовать защищенные маршруты.
Пример router/index.js
:
router.beforeEach((to, from, next) => {
if (to.name !== 'Login' amp;amp; to.name !== 'Signup' amp;amp; !this.user.id == 0) next({ name: 'Login' })
else next()
})
вместо App.vue
if (this.user.id == 0 amp;amp; this.$router.currentRoute.path != '/') {
this.$router.push('/')
}