@mrs4z

Vue Router, редирект с главной страницы параметру?

Всем доброго времени суток. Интересует вопрос.. Как реализовать такую фичу?

Должно работать так ->

Есть роутинг /auth, после успешной авторизации должно переводить на /id-12345, причем - 12345 - это ID, который получается через API. То есть мне / - вообще не нужно, но если я перейду на / - мне дает EMPTY (так как такой роутинг не задан), мне нужна главная страница что-то типа /id-12345. Но помимо всего прочего после id-12345 у меня будут еще другие роутинги - например /id-12345/create, /id-12345/update.. и так далее..

Собственно 2-а вопроса, как реализовать такую механику? В данный момент у меня реализовано так - Роутинг - /, к нему подключен просто пустой компонент, который выводит тупо route-view (хотя это должно выводиться в layout Main), затем у меня есть еще один роутинг - /id-:id/, и в нем же массив (childrens). Так же, я использую плагин - layout (Вывод разного шаблона авторизации и непосредственно после авторизации). в Main.vue (это layout после авторизации) я проверяю на наличие авторизации - в случае, если авторизован и после запроса данных - все ок, то я делаю редирект на /id-12345..

Может быть есть более изящное решение данной проблемы?

// Есть еще одна проблема, с которой я столкнулся..
Есть 2 SCSS стиля, auth и main. Заметил такой момент.. в auth у меня body { background ... } один цвет, а в main - совершенно другой.. После авторизации, я делаю перенаправление на главную страницу - /, таким образом - this.$router.push('/'). в Main.vue происходит непосредственно import main.scss, в тоже время в auth происходит подгрузка import auth.scss. При этом, после перехода со страницы авторизации background - не обновляется. То есть если на странице авторизации был цвет - белый, то после авторизации и импорта соответствующего стиля - должен быть серый, а почему-то не меняется (требуется перезагрузка страницы). Такой момент поправился так - body { background: ... !important }, все заработало! Но есть другой момент, если же я хочу совершить выход (очистить сессии и так же вернуться назад к странице авторизации), то я делаю тоже самое - но на этот раз, ничего не меняется. Решения к сожалению так и не смог найти..

Буду рад вашим ответам и помощи :) Спасибо.
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mrs4z Автор вопроса
Решение нашел так:
1. Подгружать шаблон в главном layout - > в scoped
2. Если background отличается между layoutами, тогда менять только так:
document.querySelector('body').style.background = ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы