Я использую Vue и VueRouter (а также Vuex, но это не так) в моем проекте. Представьте, что у меня есть 5 файлов:
- main.js - сохраняет все определения компонентов, импортирует их из
внешние файлы и тд.
- App.vue - это основной компонент, который хранит
все остальные
- rout.js - хранит все определения маршрутизации
- login.vue -
хранит компонент входа (страница входа)
- content.vue - страница магазинов
Компонент
(довольно упрощенная версия, но вы наверняка поняли).
Теперь, если я открою свой путь '/', он должен перенаправить меня на страницу '/ login', если я не вошел в систему, и на '/ content', когда я вошел в систему. Ничего особенного здесь нет.
Теперь моя страница работает как задумано (почти). Если я вхожу в свой браузер '/ content', он пытается отобразить компонент '/ content' с данными по умолчанию (т. Е. UserId = -1), а затем сразу же перенаправляет меня на страницу '/ login'. «/ Контент» показывает только на секунду. И это моя проблема. Я хотел бы перенаправить на «/ login» без более раннего рендеринга «/ content» с данными по умолчанию.
Очевидно, что он пытается визуализировать '/ content' - может быть из кеша или чего-то еще, но так как перенаправление - это моя первая команда в create (), он не должен
компонент mount / content в компоненте приложения, но /login.
Есть идеи, как это предотвратить?
Я знаю, что я не прилагаю никакого кода, но я надеюсь, что вам не нужно будет понимать проблему и давать советы по любому решению, потому что это потребует сокращения и упрощения большого количества кода.