guerrrka
@guerrrka

Как реализовать такое через роуты vue?

Есть шаблон (не знаю как правильно назвать) и в нем задана точка для компонентов (router-view). Как сделать, чтобы роуты /register и /login открывались в этом шаблоне (это уже сделал), а например /app без данного шаблона?
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
kleinmaximus
@kleinmaximus
Senior Full-stack Javascript Developer
Варианта 2:

1) Подключать нужный компонент шаблона в компонентах страниц. Т. е. в Вашем случае в тех компонентах, что показываются по роутам /register и /login добавить компонент шаблона.
<template>
  <layout-custom>
    <!-- тут код компонентов -->
  </layout-custom>
</template>


Но в этом случае нужно в шаблоне указывать не router-view, а slot.

2) Сделать через настройки роутера:
const router = new Router({
  routes: [
    {
      // Без шаблона
      path: '/app',
      component: AppPage,
    },
    {
      // С шаблоном
      path: '/',
      component: LayoutCustom,
      children: [
        {
          path: '/register',
          component: RegisterPage,
        },
        {
          path: '/login',
          component: LoginPage,
        }
      ], 
    },
  ],
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mShpakov
Этот шаблон является корневой точкой входа
Используется по сути как лэйаут, а сами страницы на определенном шаблоне являются его дочерними страницами

Пример реализации посмотрите в nuxt js
Ответ написан
Ваш ответ на вопрос

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

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