Nuxt3-学习之路 07,布局-默认布局

703 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情

Nuxt3-学习之路 07, 布局-默认布局

引言

本系列会以我的一个理解,来介绍并开始学习 Nuxt3

中间会插入自己所联系到的 乱七八糟 的 知识点

布局

按我的理解来说,Nuxt3 的 布局 就 相当于 带有插槽的组件

  • 我们一个文件中,引入一个组件,然后通过插槽的形式,往里面放置内容。

布局 的位置,是需要在与app同级目录下创建一个名为 layouts 的文件夹。目录结构为:

-| layouts/
-| app.vue

默认布局

默认布局 需要在 layouts 文件夹下,创建一个名为 default.vue 的文件。目录结构为:

-| layouts/
---| default.vue
-| app.vue

image.png

image.png

可以看到文件中有一个 slot 插槽,这个跟 vue 的插槽一样。我们在一个新的文件中,引用这个默认布局的文件,在标签里面编写内容,会将里面的内容插入到这个默认布局组件的页面中。

根路由

之后我们先在 根路由 的位置处放置

  • 这里再回顾一下根路由所在的位置为:

    -| pages/
    ---| index.vue
    -| app.vue
    

    image.png

编写默认布局的一个引入方式,通过 <NuxtLayout name="default"> </NuxtLayout>

  • 注意 name 的值,为 default.vue 的文件名。

    image.png

  • 重新启动项目,运行,发现默认布局已经生效

    image.png

上面,我们说到了使用插槽,那么我们往标签 <NuxtLayout> 里面添加 测试插槽布局,可以看到会将我们的内容显示出来。

image.png

image.png

动态路由

上面既然可以在 根路由 显示,那么这个 默认布局 是否可以在 动态路由 中显示呢?

下面我们进行快速测试一下 动态路由

  • 先在父路由上引入

    image.png

    image.png

    可以看到在两个 子路由 均可以显示

  • 在子路由上引入

    image.png

    image.png

    可以看到在 子路由 自己页面定义的 默认布局 会各自在自己的页面中显示。

总结

学习了 Nuxt3 的布局 - 默认布局 的使用,通过标签 插槽 的一个方式,一起来使用,进行构成 布局系统。