【Nuxt3】layouts的使用

简言

Nuxt 提供了一个布局框架,用于将常见的 UI 模式提取为可重用的布局。

为了获得最佳性能,在使用时,放置在此目录中的组件将通过异步导入自动加载。

layouts

layouts文件夹存放的是ui布局文件,就是实现一个页面整体架构规则的vue组件,默认样式布局是在layouts/default.vue组件。

启用布局

通过在 app.vue 中添加 <NuxtLayout>,可以启用布局:

<template><NuxtLayout><NuxtPage /></NuxtLayout>
</template>

<NuxtLayout>有一个name属性,可以指定默认布局文件。
若页面要指定特殊的布局组件,则可以在页面中使用 definePageMeta 设置 layout 属性。

 definePageMeta({layout: 'small',});

默认布局

添加 ~/layouts/default.vue:

<template><div><p>一些在所有页面之间共享的默认布局内容</p><slot /></div>
</template>

在布局文件中,页面的内容将显示在 组件中。

布局命名

如果你在嵌套目录中有一个布局,则布局的名称将基于其自身的路径目录和文件名,并删除重复的段,为了清晰起见,建议布局的文件名与其名称相匹配:
在这里插入图片描述

动态布局

可以使用 setPageLayout 辅助函数动态更改布局:

<script setup lang="ts">
function enableCustomLayout () {setPageLayout('custom')
}
definePageMeta({layout: false,
});
</script><template><div><button @click="enableCustomLayout">更新布局</button></div>
</template>

页面上覆盖布局

如果你使用页面,可以通过设置 layout: false,然后在页面内部使用 组件来完全控制布局。

如果在页面中使用 ,请确保它不是根元素(或者禁用布局/页面过渡效果)。

<script setup lang="ts">
definePageMeta({layout: false,
})
</script><template><div><NuxtLayout name="custom"><template #header> 一些页眉模板内容。 </template>页面的其余部分</NuxtLayout></div>
</template>

示例

small布局:

<template><div class="small"><p>这是公用的small布局内容 12323</p><slot /></div>
</template>
<script lang="ts" setup>import { reactive, ref, onMounted } from 'vue';
</script>
<style lang="scss" scoped></style>

big布局:

<template><div class="big"><h1>这是big布局</h1><slot /></div>
</template>
<script lang="ts" setup>import { reactive, ref, onMounted } from 'vue';
</script>
<style lang="scss" scoped></style>

页面:

<template><div class="index"><NuxtLayout name="small">页面的其余部分<button @click="enableCustomLayout">改变布局</button></NuxtLayout></div>
</template>
<script lang="ts" setup>definePageMeta({layout: false,});function enableCustomLayout() {setPageLayout('big');}// useSeoMeta({//   title: '我的神奇网站',//   ogTitle: '我的神奇网站',//   description: '这是我的神奇网站,让我来告诉你关于它的一切。',//   ogDescription: '这是我的神奇网站,让我来告诉你关于它的一切。',//   ogImage: 'https://example.com/image.png',//   twitterCard: 'summary_large_image',// });
</script>
<style lang="scss" scoped></style>

结语

这个layouts文件夹里的布局文件是通过vue组件实现的,所有要注意slot插槽的位置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/442817.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云原生之steam游戏幻兽帕鲁私服部署

文章目录 服务端部署docker部署docker-compose部署 客户端安装及破解开始游戏 最近幻兽帕鲁这款游戏比较火&#xff0c;小编专门学习了下私服部署方法。由于这款游戏存在内存泄漏问题&#xff0c;运行一段时间就需重启&#xff0c;小编考虑将游戏部署到云原生中&#xff0c;通过…

qemu 抓取linux kernel vmcore

一、背景 在qemu调试linux kernel时 有时我们会遇到dump 情况&#xff0c;这时可以通过gdb 方式连接分析dump&#xff0c; 但实际中我们用得更多的是离线dump 分析&#xff0c;分析的文件通常是vmcore&#xff08;linux kernel panic 生成的coredump文件&#xff09;或者ramdu…

记录 arm 开发板上 nginx 配置 http 服务注意事项

1. 自定义项目&#xff0c;需要在 conf.d 目录中增加一个 .conf 配置文件&#xff1a; server {listen 9200; # 端口号server_name localhost; # 服务名称location / {root /home/imx6q/media; # 项目根目录&#xff08;需要修改 n…

JavaScript高级:js中面向对象编程

目录 1 引言 1.1 两者的区别 1.2 优缺点 2 封装性 3 原型 3.1 原型对象 3.2 构造函数和原型中的this如何指向 3.2.1 构造函数 3.2.2 原型对象 4 数组扩展案例--> 求和 和 最大值 5 原型对象中的constructor属性 6 对象原型 7 对象原型中的constructor属性 8 上…

深入了解5G终端射频标准中的频谱发射与互调特性

前面的频谱发射我们已经学习了占用带宽、带外发射和杂散发射&#xff0c;今天是频谱发射的最后一部分内容&#xff1a;互调。在很多的标准规范中&#xff0c;都有互调测试的相关内容&#xff0c;但测试条件、测试要求和测试方法都不尽相同。我们可以不必纠结互调是否有某种固定…

欢迎报名!数境·第七届工业互联网数据创新应用大赛震撼来袭!

欢迎报名&#xff01; 由深圳市宝安区人民政府和中国信息通信研究院共同主办的数境第七届工业互联网数据创新应用大赛正式开赛啦~~~ 中国信通院“数境”品牌赛事起始于2017年工业大数据创新大赛&#xff0c;伴随着我国制造业高端化、智能化、绿色化发展不断成长&#xff0c;至…

【图文详解】阿里腾讯华为云服务器被攻击后更换服务器IP操作步骤合集

阿里云 固定公网IP地址更换 情况一&#xff1a;实例创建时间不足6小时 前提条件在尝试更换固定公网IP地址之前&#xff0c;必须确保ECS实例满足以下所有条件&#xff1a; 实例创建时间不超过6小时。已成功分配一个固定公网IP地址。如果在实例创建时未分配固定公网IP地址&am…

如何快速记忆小鹤双拼键位图?

记忆方法&#xff1a;韵母表 图形 最常用字 韵母表&#xff1a;双拼的基础 图形&#xff1a;帮助新手快速联想回忆 最常用字&#xff1a;快速打字基础 一、单韵母&#xff08;紫色方块&#xff09; 一一对应如下表&#xff1a; 单韵母aoeiu、AOEIV 二、复韵母—箭矢型&am…

30岁以下的人都去哪儿了?OpenAI费尽心机吸引年轻人

比尔盖茨的博客栏目「与比尔盖兹一起解惑」近日大火&#xff0c;OpenAI首席执行官奥特曼表示&#xff0c;OpenAI“不是由一群24岁的程序员运营的”&#xff0c;并表示这很令人担忧。 目前&#xff0c;许多热门的AI初创公司正在寻找年轻才俊&#xff0c;OpenAI当然也在此之列。…

[GWCTF 2019]我有一个数据库(特详解)

页面一开始乱码&#xff0c;先教大家应该修复的方法&#xff0c;到火狐打开&#xff0c;然后找到小工具里的修复文字编码&#xff0c;就可以了&#xff08;没有的话可以在定制工具栏里添加&#xff09; 一般页面读取乱码都可以这样解决 他说什么都没有&#xff0c;先dirsearch扫…

如何使用 XGBoost 对时序数据进行精准预测?

时间序列预测是各个领域中的关键任务&#xff0c;包括金融、销售和能源需求等。准确的预测使企业能够做出明智的决策&#xff0c;优化资源&#xff0c;并有效地规划未来。 近年来&#xff0c;XGBoost 算法因在时间序列预测任务中表现出色而备受青睐。本文探讨了 XGBoost 在时间…

h5电子画册制作技巧

​随着科技的发展&#xff0c;电子画册已经成为了越来越多企业宣传和推广产品的重要工具。而h5电子画册制作更是其中的一项关键技术。那么&#xff0c;如何制作一个优秀的h5电子画册呢&#xff1f;下面就为大家分享一些制作技巧。 在制作h5电子画册之前&#xff0c;需要先确定画…