登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
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
框架
内置
组件
详解
相关帖子
很简洁的JS框架代码
屏蔽PC端的JS框架
JS框架脚本
LangChain详解
让 AI 真正好用:一个框架提升你的办公效率
Oracle SGA核心组件深度解析:Buffer Cache与Shared Pool工作机制
Markdown写作常用组件
一文打通软件测试中pytest框架
工作中常用函数详解与示例-PostgreSQL(其他数据库可能函数不一致)
最小二乘问题详解9:使用Ceres求解非线性最小二乘
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
代码
很简洁的JS框架代码
1
29
新程序
2025-12-11
代码
屏蔽PC端的JS框架
0
33
新程序
2025-12-11
代码
JS框架脚本
0
25
新程序
2025-12-11
安全
LangChain详解
0
532
颓哀
2025-12-11
业界
让 AI 真正好用:一个框架提升你的办公效率
0
792
厂潺
2025-12-12
业界
Oracle SGA核心组件深度解析:Buffer Cache与Shared Pool工作机制
0
212
嫁吱裨
2025-12-12
业界
Markdown写作常用组件
0
232
系味
2025-12-12
安全
一文打通软件测试中pytest框架
0
51
庾签
2025-12-13
业界
工作中常用函数详解与示例-PostgreSQL(其他数据库可能函数不一致)
0
78
捐催制
2025-12-17
业界
最小二乘问题详解9:使用Ceres求解非线性最小二乘
0
488
挚魉
2025-12-19
回复
(4)
城徉汗
2025-10-13 17:54:49
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
更成痒
2025-10-24 02:12:05
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
迁岂罚
7 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
茅断卉
6 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
豌笆
6 天前
关注
0
粉丝关注
15
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9982
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
61
吴恩达深度学习课程四:计算机视觉 第二周
249
设计模式简述
186
vue 甘特图 vxe-gantt table 连接线的用法
603
[SDR] USRP 双通道与 MIMO 技术:手搓 1 发
572
【面试题】MySQL 的存储引擎有哪些?它们之
560
为什么协程能让程序不再卡顿?——从同步、
712
【面试题】MySQL 索引的最左前缀匹配原则是
237
AgentScope深入学习-总体认识
342
再推荐 10 个低调但非常实用的 PHP 包
320
DDD领域驱动设计
467
从繁琐到高效:招聘自动化系统优化招聘流程
711
接着唠:三级缓存为啥是“刚需”?没有它Sp
903
17.行为型 - 观察者模式 (Observer Pattern
486
最小二乘问题详解9:使用Ceres求解非线性最
176
FFmpeg 关键的结构体
762
强壳保护NET代码!Dnguard 4.9.4最新企业旗
621
LLL与BKZ算法
783
AI幻觉闲聊杂谈
393
央企程序员AI创业后续
734
使用DNGuard加密并打包C# .NET Core程序为