Vue Router: если аргумент next () и to равен, почему навигация не подтверждена?

1
задан meetalexjohnson 18 January 2019 в 18:01
поделиться

2 ответа

Один из шаблонов, использованных для этого, включает в себя метасвойство на самом маршруте , а затем проверяет, установлено ли это свойство в ловушке:

If(!user.isLoggedIn && to.route.meta.requiresAuth) 
    next({name: 'login'});
else
    next();

И так как Ваши страницы входа в систему, регистрации и забытого пароля не требуют аутентификации, вы прерываете цикл

0
ответ дан Ferrybig 18 January 2019 в 18:01
поделиться

Простой ответ: потому что next -функция имеет различное значение (цели).

next -функция подобна диспетчеру, который говорит поезду, куда идти.

Вызов функции next с тем же маршрутом to имеет значение только тогда, когда состояние приложения меняется между этими вызовами (куки были удалены, значения localStorage изменены, сеанс завершен и т. д.), иначе вы получите предупреждение / ошибка бесконечного цикла.

Есть ли вариант использования для вызова next () с тем же аргументом, что и у текущего значения to?

Да, есть несколько вариантов использования. Один из них можно найти в этом SO вопросе и ответе. - динамически изменять компонент, который отвечает за визуализацию представления.

0
ответ дан AndrewShmig 18 January 2019 в 18:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: