详解Vue3中的内置组件(transition)

在这里插入图片描述

本文主要介绍Vue3中的内置组件(transition)的普通写法和setup写法。

目录

  • 一、在普通写法中使用内置组件(transition)
  • 二、在setup写法中使用内置组件(transition)
  • 三、使用注意项

在Vue3中,内置了一些组件,其中之一是<transition>组件。<transition>组件用于在元素插入或删除时,为其添加过渡效果。

在Vue2中,<transition>组件使用name属性来定义过渡效果的类名,然后使用CSS来实现具体的过渡效果。而在Vue3中,<transition>组件使用了新的API来定义过渡效果。

一、在普通写法中使用内置组件(transition)

Vue3中<transition>组件的用法如下:

<transition name="fade" mode="out-in"><div v-if="show" key="1">Content</div>
</transition>

在上面的代码中,<transition>组件包裹了一个<div>元素。当showtrue时,<div>元素会被插入到DOM中,并且在插入时会有一个淡入的过渡效果。当showfalse时,<div>元素会从DOM中删除,并且在删除时会有一个淡出的过渡效果。

<transition>组件中,可以设置以下属性来控制过渡效果:

  • name:定义过渡效果的类名。Vue会自动为该类名添加前缀,例如-enter-leave等。
  • type:定义过渡效果的类型,默认为transition,可选值为transitionanimation
  • mode:定义过渡模式。有以下几种模式可选:
    • in-out:新元素先进行过渡,然后当前元素进行过渡。
    • out-in:当前元素先进行过渡,然后新元素进行过渡。
  • duration:定义过渡的持续时间,可以是一个数字或一个对象,对象可以设置enterleaveappear三种状态的持续时间。
  • appear:是否在初始渲染时显示过渡效果,默认为false
  • css:是否使用CSS过渡,默认为true。如果设置为false,则需要手动编写过渡效果的JavaScript逻辑。
  • onBeforeEnteronEnteronAfterEnteronBeforeLeaveonLeaveonAfterLeaveonBeforeAppearonAppearonAfterAppear:过渡的各个阶段的钩子函数。

在Vue3中,<transition>组件的过渡效果可以通过新的API来自定义,例如使用<transition>组件的<template v-slot:>语法来自定义过渡效果的持续时间和钩子函数。

二、在setup写法中使用内置组件(transition)

在Vue3中,可以使用<script setup lang="ts">来编写组件的逻辑部分,包括定义内置组件<transition>的过渡效果。

下面是一个在<script setup lang="ts">中使用<transition>组件的示例:

<template><div><button @click="toggle">Toggle</button><transition name="fade" mode="out-in"><div v-if="show" key="1">Content</div></transition></div>
</template><script setup lang="ts">
import { ref } from 'vue'const show = ref(false)const toggle = () => {show.value = !show.value
}
</script>

在上面的代码中,我们首先使用import语句导入了ref函数。然后,在<script setup lang="ts">中定义了一个名为show的响应式变量,初始值为false。接下来,我们定义了一个名为toggle的函数,用于切换show的值。在按钮的@click事件中,我们调用了toggle函数。

<template>部分,我们使用了<transition>组件来包裹一个<div>元素。当showtrue时,<div>元素会被插入到DOM中,并且在插入时会有一个淡入的过渡效果。当showfalse时,<div>元素会从DOM中删除,并且在删除时会有一个淡出的过渡效果。

通过使用<script setup lang="ts">,我们可以在组件的逻辑部分直接使用响应式变量和方法,而无需在setup()函数中显式地返回一个对象。这样可以让我们的代码更加简洁和易读。

三、使用注意项

在使用 Vue 3 中的内置组件 transition 时,有一些需要注意的地方:

  1. 导入 transition 组件:在 Vue 3 中,transition 组件已经被重命名为 Transition,所以在导入时需要使用 import { Transition } from 'vue'

  2. 使用 Transition 组件:在 Vue 3 中,Transition 组件的使用方式与 Vue 2 有一些不同。首先,Transition 组件的标签名已经改为 <transition>...</transition>,而不再是 <transition-group>...</transition-group>。此外,Transition 组件的属性也有一些改变,例如 name 属性改为 nameappearappear-from-classappear-to-class 等属性改为 appearenter-from-classenter-to-class 等属性。

  3. 使用不同的过渡类名:在 Vue 3 中,过渡类名的生成方式也有所改变。以前,Vue 2 默认使用 v- 前缀加上过渡类型名称作为类名,例如 v-enterv-leave-to 等。而在 Vue 3 中,使用了更加直观的类名,例如 enter-activeleave-active 等。这意味着在使用自定义过渡类名时,需要根据 Vue 3 的类名规则进行相应的修改。

  4. 使用 v-ifv-show:在 Vue 3 中,transition 组件不再支持与 v-ifv-show 一起使用。如果需要在组件动态切换时实现过渡效果,可以考虑使用 transition 组件的 appear 属性或 Transition 组件的 v-ifv-else

  5. 使用 JSX:如果在 Vue 3 中使用 JSX 的方式来写模板代码,需要注意 Transition 组件的使用方式与普通模板的略有不同。在 JSX 中,需要使用 v-slots 来定义过渡的内容,并且 Transition 组件需要使用闭合标签 <Transition></Transition>

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

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

相关文章

3 个适用于 Mac 电脑操作的 Android 数据恢复最佳工具 [附步骤]

在当今的数字时代&#xff0c;无论是由于意外删除、系统故障还是其他原因&#xff0c;从 Android 设备中丢失数据不仅会带来不便&#xff0c;而且会造成非常严重的后果。特别是对于Mac用户来说&#xff0c;从Android手机恢复数据是一个很大的麻烦。幸运的是&#xff0c;随着许多…

九:爬虫-MongoDB基础

MongoDB介绍 MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系数据库的。它支持的数据结构非常松散&#xff0c;因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大&#xff0c;其…

【MySQL】数据库的SQL语句详解

目录 一、操作系统了解 二、关系型数据库与非关系型数据库的区别 三、关系型数据库的四种语言 四、DDL语言&#xff08;数据库定义语言&#xff0c;管理创建对象如库、表、字段、索引等&#xff09; 1、库的增删改查&#xff1b; 2、表的增删改查&#xff1b; 3、字段的增…

机场数据治理系列介绍(2):六图法开展数据治理的步骤与要点

目录 一、机场数据治理的六图法 1、何为六图法 二、应用数据治理六图法的相关工作步骤 1、制定战略目标 2、梳理业务情况 3、收集需求 4、构建数智应用地图 5、选择合适的算法 6、建立数据地图 7、持续改进和优化 三、相关要点 1、明确数据治理三张清单 2、持续构…

Chainlink 开发者故事:Krypton 从构思到产品的 Chainlink BUILD之旅

识别问题&#xff0c;构思解决方案&#xff0c;建立它&#xff0c;推出它&#xff0c;然后扩展它。这就是科技初创企业的操作手册。 现在&#xff0c;前Chainlink黑客马拉松获奖者&#xff0c;当前的Chainlink BUILD成员Krypton已经进行到了第四步&#xff1a;推出。Krypton团…

敏捷开发 - 知识普及

敏捷开发- Scrum 前言 知乎有一篇文章描写Scrum,我觉得比较好:https://zhuanlan.zhihu.com/p/631459977 简单科普下PM和PMO 原文来源:https://zhuanlan.zhihu.com/p/546820914 PM - 项目经理(Project Manager) ​ 需要具备以下能力 ​ 1.号召力 2.影响力 3.交流能力 4.应…

IDEA的facets和artifacts

在软件开发领域&#xff0c;IDEA 是指 JetBrains 公司的 IntelliJ IDEA&#xff0c;是一款流行的集成开发环境&#xff08;Integrated Development Environment&#xff09;。在 IntelliJ IDEA 中&#xff0c;"facets" 和 "artifacts" 是两个概念&#xff…

智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.材料生成算法4.实验参数设定5.算法结果6.…

实习课知识整理3:首页商品列表的展示

对于一个购物商城的项目&#xff0c;主体还得是商品&#xff0c;这篇博客主要介绍如何将数据库中的信息渲染到页面上&#xff0c;这边后端是SpringBoot,前端是html配合thymeleaf模板 1. 编写查询数据库的方法 在这边我在页面上需要两部分的信息&#xff0c;一个是所有的商品&am…

Alnet网络分析与demo实例

参考自 up主的b站链接&#xff1a;霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 数据集下载 http://download.tensorflow.org/example_images/flower_photos.tgz 包含 5 中类型的花&#xff0c;每种…

论文降重方法同义词替换的效果对比与评价 快码论文

大家好&#xff0c;今天来聊聊论文降重方法同义词替换的效果对比与评价&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 标题&#xff1a;论文降重方法同义词替换的效果对比…

LIMS实验室管理软件多少钱 智慧实验室管理系统价格

随着实验室管理需求的日益复杂&#xff0c;实验室信息管理系统(LIMS)逐渐成为实验室管理的必备工具。然而&#xff0c;对于许多实验室而言&#xff0c;选择合适的LIMS系统是一项挑战&#xff0c;其中价格是一个重要的考虑因素。本文将以白码LIMS系统为例&#xff0c;探讨LIMS实…

LangChain 31 模块复用Prompt templates 提示词模板

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

【模式识别】探秘分类奥秘:最近邻算法解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《模式之谜 | 数据奇迹解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1f30c;1 初识模式识…

智能优化算法应用:基于北方苍鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于北方苍鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于北方苍鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.北方苍鹰算法4.实验参数设定5.算法结果6.…

nodejs微信小程序+python+PHP医疗机构药品及耗材信息管理系统-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

RT-Thread启动过程

RT-Thread启动流程 一般了解一份代码大多从启动部分开始&#xff0c;同样这里也采用这种方式&#xff0c;先寻找启动的源头。 RT-Thread支持多种平台和多种编译器&#xff0c;而rtthread_startup()函数是RT-Thread规定的统一启动入口。 一般执行顺序是&#xff1a;系统先从启…

CSS3:绘制多边形

clip-path&#xff1a;该属性使用裁剪方式创建元素的可显示区域&#xff0c;区域内的显示&#xff0c;区域外的不显示。 构建一个三角形 <div class"mybox"></div><style>.mybox {width: 100px;height: 100px;background-color: yellow;clip-path…

JavaOOP篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、Hashcode的作用二、Java的四种引用,强弱软虚三、Java创建对象有几种方式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码…

Android可折叠设备完全指南:展开未来

Android可折叠设备完全指南&#xff1a;展开未来 探索如何使用Android Jetpack组件折叠和展开设备。 近年来&#xff0c;科技界见证了可折叠设备的革命性趋势。这些设备融合了便携性和功能性的创新特点&#xff0c;使用户能够在不同的形态之间无缝切换。在本博客中&#xff0c…