登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Nuxt框架中内置组件详解及使用指南(二) ...
Nuxt框架中内置组件详解及使用指南(二)
[ 复制链接 ]
豌笆
2025-6-6 15:34:18
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
title: Nuxt框架中内置组件详解及使用指南(二)
date: 2024/7/7
updated: 2024/7/7
author:<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>cmdragon
excerpt:
摘要:“本文详细介绍了Nuxt 3中和组件的使用方法,包括组件的基本概念、属性、自定义属性、获取引用以及完整示例,展示了如何在Nuxt项目中有效利用这两个组件。
categories:
前端开发
tags:
Nuxt3
组件
Vue
前端
开发
教程
代码
扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长
Nuxt 3 中组件的使用指南与示例
组件用于显示位于pages/目录中的页面。
一、 组件的基本概念
组件是 Nuxt 内置的,它实际上是对 Vue Router 的 组件的封装。这意味着它承担着根据路由规则来正确显示相应页面内容的重要职责。
二、 组件的属性
name 属性
类型:字符串
作用:告诉 RouterView 在匹配的路由记录的组件选项中使用对应名称渲染组件。
示例:如果您有多个具有不同名称的页面组件,通过设置 name 属性可以准确指定要渲染的组件。
route 属性
类型:RouteLocationNormalized
作用:提供已解析的所有组件的路由位置信息。
pageKey 属性
类型:可以是字符串或函数
作用:控制 组件何时重新渲染。
示例:
传递 static 键, 组件在挂载时只会渲染一次。
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>
复制代码
使用基于当前路由的动态键,如 route => route.fullPath 。
[/code]
[/list]
[/list]需要特别注意的是,在使用 pageKey 时,不要使用 $route 对象,因为这可能会在 与 一起渲染页面时引发问题。
此外,pageKey 还可以通过 pages 目录中的 Vue 组件的 definePageMeta 来传递。
[size=4][b]三、获取页面组件的引用[/b][/size]
要获取 组件的引用,可以通过以下方式:
[code]<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>
复制代码
在上述代码中,我们定义了一个名为 page 的引用,并通过 page.value.pageRef 来访问页面组件的相关方法或属性。
四、自定义属性
组件还支持自定义属性,您可以根据需要向下传递这些属性。并且可以通过 Nuxt 应用的 attrs 来访问这些自定义属性。
例如:
[/code]在模板中可以使用 $attrs.foobar ,或者在脚本中使用 useAttrs().foobar 来获取其值。
[size=4]完整示例:[/size]
[size=3]步骤 1: 创建一个 Nuxt.js 项目[/size]
首先,你需要安装 Node.js 和 npm。然后,你可以使用以下命令创建一个新的 Nuxt.js 项目:
[code]npx create-nuxt-app my-nuxt-project
复制代码
按照提示完成安装和配置。
步骤 2: 创建一个页面组件
在 pages/ 目录下,创建一个新的页面组件,例如 about.vue:
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>[size=6]About Page[/size]
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>This is the about page.
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>
复制代码
步骤 3: 在页面中使用 组件
现在,我们可以在父组件中使用 来渲染 about.vue 页面。在 pages/index.vue 中添加以下代码:
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>[size=6]Welcome to Nuxt.js[/size]
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>
复制代码
在这个例子中, 会自动加载并渲染 about.vue 组件,因为 index.vue 是 Nuxt.js 的默认入口页面。
步骤 4: 运行项目并查看结果
在项目根目录下,运行以下命令来启动开发服务器:
npm run dev
复制代码
打开浏览器并访问 http://localhost:3000,你应该能看到一个欢迎标题和一个由 渲染的关于页面。
Nuxt 3 中组件的使用指南与示例
Nuxt 提供了<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>组件来在页面和错误页面上显示布局。
基础用法
首先,让我们看看如何在 app.vue 或 error.vue 中使用 来激活默认布局。
app.vue 示例:
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>这是页面内容<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>
复制代码
在上面的代码中, 组件被用作包裹页面内容的容器。它会自动使用 layouts/default.vue 文件作为布局。
指定布局名称
如果你想要使用自定义的布局,可以通过 name 属性来指定布局名称。
pages/index.vue 示例:
<template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template><template>
<template>
<NuxtPage ref="page" />
</template><NuxtPage page-key="static" />
</template>
复制代码
在上面的代码中,我们通过一个响应式引用 layout 来指定布局名称为 custom,这会渲染 layouts/custom.vue 文件。
注意:
布局名称会被转换为 kebab-case,所以如果你的布局文件名为 errorLayout.vue,那么在传递给 时应该使用 error-layout。
传递附加 Props
过渡效果
获取布局组件的 Ref
完整示例
余下文章内容请点击跳转至 个人博客页面 或者 扫码关注或者微信搜一搜:编程智域 前端至全栈交流与成长,阅读完整的文章:Nuxt框架中内置组件详解及使用指南(二) | cmdragon's Blog
往期文章归档:
Nuxt框架中内置组件详解及使用指南(一) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(十一) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(十) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(九) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(八) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(七) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(六) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(五) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(四) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(三) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(二) | cmdragon's Blog
Nuxt3 的生命周期和钩子函数(一) | cmdragon’s Blog
初学者必读:如何使用 Nuxt 中间件简化网站开发 | cmdragon's Blog
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Nuxt
框架
内置
组件
详解
相关帖子
如何实现 vxe-tree 树组件拖拽节点后进行二次确认提示
JS框架代码
很简洁的JS框架代码
屏蔽PC端的JS框架
JS框架脚本
LangChain详解
让 AI 真正好用:一个框架提升你的办公效率
Oracle SGA核心组件深度解析:Buffer Cache与Shared Pool工作机制
Markdown写作常用组件
一文打通软件测试中pytest框架
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
代码
如何实现 vxe-tree 树组件拖拽节点后进行二次确认提示
0
160
啪炽
2025-12-10
代码
JS框架代码
0
22
新程序
2025-12-11
代码
很简洁的JS框架代码
1
17
新程序
2025-12-11
代码
屏蔽PC端的JS框架
0
22
新程序
2025-12-11
代码
JS框架脚本
0
17
新程序
2025-12-11
安全
LangChain详解
0
528
颓哀
2025-12-11
业界
让 AI 真正好用:一个框架提升你的办公效率
0
783
厂潺
2025-12-12
业界
Oracle SGA核心组件深度解析:Buffer Cache与Shared Pool工作机制
0
205
嫁吱裨
2025-12-12
业界
Markdown写作常用组件
0
218
系味
2025-12-12
安全
一文打通软件测试中pytest框架
0
32
庾签
2025-12-13
回复
(4)
城徉汗
2025-10-13 17:54:49
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
更成痒
2025-10-24 02:12:05
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
迁岂罚
3 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
过来提前占个楼
茅断卉
前天 06:49
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
豌笆
前天 06:49
关注
0
粉丝关注
15
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
686
16.结构型 - 享元模式 (Flyweight Pattern)
359
复健笔记 - Pascal酒吧的爆破
603
[Linux] 手写轻量C++函数性能探查器:CPU占
945
关于linux编译c语言文件的一些错误问题
521
推荐一种并发线程中资源同步常用方法
817
【节点】[Adjustment-ReplaceColor节点]原
663
Linux DMA开发指南(一)
207
数字电路模拟程序&课堂测验Blog
562
ROS2核心概念之动作
681
[dx12显示图片] ImGui Learn Data Day 3
615
一张图看懂AI Agent的6种模式—MAS
930
.NET 10 网络堆栈深度架构解析:HTTP/3、性
925
【有手就行】LoRA:用你自己的数据来微调大
908
sqlilab —— 32关卡
423
.NET周刊【11月第3期 2025-11-16】
913
软件逆向加密视频专用播放器是如何检测到用
362
爬虫专栏:破解网站检测selenium反爬——“
837
开源项目分享:Gitee热榜项目 2025年12月第
50
意识的自反性:知者与作者之惑
687
docker学习笔记