Задать вопрос

Как «отключить» поведение папки layouts в nuxt, чтобы прописывать layout в router.js?

В проекте использую пакет/модуль @nuxt/router (https://github.com/nuxt-community/router-module#readme). Он позволяет использовать router.js как в обычном vue приложении. Тем не менее я не могу задать layout компонент в роутере.

В папке layouts создаю компонент auth.vue. В папке pages создаю компоненты login и register
Ожидаемый результат (код для примера и не из проекта):

const router = new VueRouter({
  routes: [
    { 
      path: '/auth', component: Auth,
      children: [
       { path: 'login', component: AuthLogin },
       { path: 'register', component: AuthRegister }
      ]
    }
  ]
})


В итоге получается так, что пути /auth/login или /auth/register будут обернуты в дефолтный layout.

Из документации (https://nuxtjs.org/docs/2.x/directory-structure/la...)
Every file (top-level) in the layouts directory will create a custom layout accessible with the layout property in the page components.


export default {
  layout: 'auth',
  // OR
  layout (context) {
    return 'auth'
  }
}


Итого:
- я не хочу указывать layout в компонентах.
- я хочу указать layout в router.js
+ как-то отключить это дефолтное "поведение" nuxt
  • Вопрос задан
  • 397 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

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

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