登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Nuxt框架中内置组件详解及使用指南(二) ...
Nuxt框架中内置组件详解及使用指南(二)
[ 复制链接 ]
豌笆
4 天前
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
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
如何优雅的使用RabbitMQ
分布式锁1 Java常用技术方案
浅谈我对DDD领域驱动设计的理解
游戏编程十年总结(下)
【前端性能】高性能滚动 scroll 及页面渲染优化
验证码对抗之路及现有验证机制介绍
从零开始入门 K8s | 手把手带你理解 etcd
中文写程序,何陋之有?
NHibernate之旅(2):第一个NHibernate程序
公司的中场
FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc
Android 系统缺陷不完全点评
谈谈如何从本质上理解sql语句, 存储过程,ORM之间的联系和取舍。
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
.net环境下跨进程、高频率读写数据
第二个iPhone应用程序:“Say Hello”
关于编程的胡扯
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
签约作者
程序园优秀签约作者
发帖
豌笆
4 天前
关注
0
粉丝关注
11
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9986
森萌黠
9994
里豳朝
9994
4
柴古香
9994
5
背竽
9994
6
猷咎
9992
7
凶契帽
9992
8
黎瑞芝
9992
9
松菊
9992
10
尝琨
9992
查看更多