登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Nuxt框架中内置组件详解及使用指南(二) ...
Nuxt框架中内置组件详解及使用指南(二)
[ 复制链接 ]
豌笆
2025-6-6 15:34:18
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框架代码
亚体JS框架写法
猎鹰JS框架
2026年最新js框架
JWT攻击详解与CTF实战
JS框架脚本
屏蔽PC端的JS框架
很简洁的JS框架代码
2种js框架使用说明
亚体JS框架写法
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
程序
很简洁的JS框架代码
0
9
新程序
2025-09-09
程序
亚体JS框架写法
0
12
新程序
2025-09-09
程序
猎鹰JS框架
0
12
新程序
2025-09-09
程序
2026年最新js框架
0
13
新程序
2025-09-09
业界
JWT攻击详解与CTF实战
0
327
癖艺泣
2025-09-10
程序
JS框架脚本
0
5
新程序
2025-09-11
程序
屏蔽PC端的JS框架
0
7
新程序
2025-09-11
程序
很简洁的JS框架代码
0
7
新程序
2025-09-11
程序
2种js框架使用说明
0
6
新程序
2025-09-11
程序
亚体JS框架写法
0
11
新程序
2025-09-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
豌笆
2025-6-6 15:34:18
关注
0
粉丝关注
15
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多