определять лэяут, без создания общего родителя. Вроде так работает, но ок ли это?
{
path: '/sign_in',
component: AuthLayout,
children: [
{
path: '/sign_in',
component: () => import('~/views/users/signIn/index.vue'),
},
],
};
В AuthLayout просто дырка RouterView с вёрсткой
через meta можно layout прокинуть
{ path: '/sign_in', component: AuthLayout, children: [ { path: '/', component: () => import('~/views/users/signIn/index.vue'), }, ], }; Скорее так
path: '/', так не работает, а так ок path: '',
Это наверное подойдёт когда много лэяутов
Если layout один для всех страниц - почему в app.vue просто не зарендерить RouterView который будет слотом передаваться в твой layout? Это вариант без meta
Пока их 2. У трёх страниц 1 лэяут, у остальных страниц другой. В каждую прокидывать лэяут не очень удобно, а в 3 не так страшно
Тогда вариант с meta мне кажется подходящим и гибким
Очень не нравится что нужно будет в каждый роут передавать один и тот же лэяут
ну сделай лейаут по-умолчанию
Тогда будет сначала показывать дефолтный, а потом другой
Не, просто чекай есть ли какой-то лайаут в meta - если нету тогда подгружай дефолтный, если есть - из меты
sort of this только дефолтный добавить надо
сложно реализовали
Задумка такая, чтобы при наличии layout в meta - подгружался routerview в этом самом лайауте, а если его нет - тогда просто сам routerview без layout вообще плюс сам компонент (с лайаутом или без) должен быть обернут в саспенс, наверное отсюда и сложность реализации. Оно работает, подводных вроде не замечаю. А как бы вы реализовали? Вот более полный код.
Обсуждают сегодня