vue 组件中使用 transition 和 transition-group实现过渡动画

yizhihongxing

使用transition实现过渡动画

步骤1:导入Vue和Transition组件

在组件的script标签中,导入Vue和Transition组件。

<script>
import { Transition } from 'vue';
export default {
  name: 'MyComponent',
  components: {
    Transition
  },
  // ...
}
</script>

步骤2:定义过渡效果

使用<transition>包裹需要过渡的元素,并设置过渡效果的名称,例如fade

<template>
  <transition name="fade">
    <div v-show="show">Hello World</div>
  </transition>
</template>

步骤3:定义过渡效果的CSS

在组件的style标签中,定义过渡效果的CSS。这里以淡入淡出动画为例。

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
}
</style>

示例1:淡入淡出效果

<template>
  <div>
    <button @click="toggle">Toggle</button>
    <transition name="fade">
      <div v-show="show">Hello World</div>
    </transition>
  </div>
</template>

<script>
import { Transition } from 'vue';
export default {
  name: 'MyComponent',
  components: {
    Transition
  },
  data() {
    return {
      show: false
    };
  },
  methods: {
    toggle() {
      this.show = !this.show;
    }
  }
}
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
}
</style>

上述示例中,点击Toggle按钮时,组件中的<div>元素将通过淡入淡出的过渡效果显示或隐藏。

使用transition-group实现过渡动画

步骤1:导入Vue和TransitionGroup组件

在组件的script标签中,导入Vue和TransitionGroup组件。

<script>
import { TransitionGroup } from 'vue';
export default {
  name: 'MyComponent',
  components: {
    TransitionGroup
  },
  // ...
}
</script>

步骤2:定义过渡效果

使用<transition-group>包裹需要过渡的列表,并设置过渡效果的名称,例如fade.

<template>
  <transition-group name="fade">
    <div v-for="item in items" :key="item">{{ item }}</div>
  </transition-group>
</template>

步骤3:定义过渡效果的CSS

在组件的style标签中,定义过渡效果的CSS。这里以渐变缩放动画为例。

<style>
.fade-enter-active,
.fade-leave-active {
  transition: all 0.5s;
}

.fade-enter,
.fade-leave-to {
  transform: scale(0);
  opacity: 0;
}
</style>

示例2:列表项的渐变缩放效果

<template>
  <div>
    <button @click="addItem">Add Item</button>
    <button @click="removeItem">Remove Item</button>
    <transition-group name="fade">
      <div v-for="item in items" :key="item">{{ item }}</div>
    </transition-group>
  </div>
</template>

<script>
import { TransitionGroup } from 'vue';
export default {
  name: 'MyComponent',
  components: {
    TransitionGroup
  },
  data() {
    return {
      items: ['Item 1', 'Item 2', 'Item 3']
    };
  },
  methods: {
    addItem() {
      this.items.push(`Item ${this.items.length + 1}`);
    },
    removeItem() {
      this.items.pop();
    }
  }
}
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: all 0.5s;
}

.fade-enter,
.fade-leave-to {
  transform: scale(0);
  opacity: 0;
}
</style>

上述示例中,点击"Add Item"按钮时,会在列表中添加一个新的项,其以渐变缩放的过渡效果显示。点击"Remove Item"按钮时,最后一个列表项将以渐变缩放的过渡效果隐藏并移除。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue 组件中使用 transition 和 transition-group实现过渡动画 - Python技术站

(0)
上一篇 2023年6月28日
下一篇 2023年6月28日

相关文章

  • Vue中的作用域CSS和CSS模块的区别

    Vue中的作用域CSS和CSS模块的区别 1. 作用域CSS 作用域CSS是Vue中一种处理样式作用范围的方案。它通过在组件中使用 <style scoped> 标签,将样式限定在当前组件的范围内,避免样式影响其他组件。 使用方式 在Vue组件的 <style> 标签中添加 scoped 属性,即可开启作用域CSS。 <temp…

    other 2023年6月28日
    00
  • Android使用ContentProvider初始化SDK库方案小结

    下面就详细讲解一下“Android使用ContentProvider初始化SDK库方案小结”。 背景介绍 在很多 Android 应用中,我们往往需要使用第三方 SDK,例如地图 SDK、支付 SDK 等等。由于 SDK 的初始化需要一些必要的参数,而这些参数往往需要在应用启动时进行设置,才能保证后续 SDK 的正常使用。那么,如何在应用启动时方便高效地初始…

    other 2023年6月20日
    00
  • axios请求响应数据加解密封装实现详解

    标题:axios请求响应数据加解密封装实现详解 介绍 在进行Web开发时,我们时常需要向服务端发送请求,并获取响应数据,为了保证数据安全,我们通常会对请求和响应数据进行加解密处理。本攻略将详细讲解如何使用axios对请求和响应数据进行加解密的封装实现。 实现步骤 1. 创建几个加解密函数 我们需要创建以下几个加解密函数: encryption(data): …

    other 2023年6月25日
    00
  • Zabbix监控Linux主机设置方法

    Zabbix监控Linux主机设置方法 1. 安装Zabbix Agent 在Linux主机上安装Zabbix Agent,方法可以参考官方文档: Zabbix Agent安装指南(官方文档) 以Ubuntu为例,可以通过以下命令进行安装: sudo apt-get update sudo apt-get install zabbix-agent 2. 配置…

    other 2023年6月27日
    00
  • 苹果 macOS 14 开发者预览版 Beta 2 今日发布(附更新内容汇总)

    苹果 macOS 14 开发者预览版 Beta 2 今日发布(附更新内容汇总) 简介 苹果公司在今天发布了 macOS 14 开发者预览版 Beta 2,新版系统主要针对开发者测试和体验,同时也包含了一些新功能和更新。在本文中,我们将向大家介绍这个版本的更新内容和特点,以及在更新过程中需要注意的问题和注意事项。 更新内容 新增软件功能:新增了“图书馆”功能,…

    other 2023年6月26日
    00
  • 下载一个vue项目 搭一个简单页面 具体过程

    以下是下载一个Vue项目并搭建简单页面的完整攻略,包含两个示例说明。 下载Vue项目 打开终端或命令行工具,进入你想要存项目目录。 输入以下命令,克隆Vue项目到本地: git clone https://github.com/vuejs-templates/webpack-simple.git 进入项目目录: cd webpack-simple 安装项目依…

    other 2023年5月9日
    00
  • linuxctrl+z的使用方法

    Linux Ctrl+Z的使用方法 在Linux系统中,Ctrl+Z是一个非常有用的快捷键。它可以暂停当前正在运行的命令,并将其放入后台,同时返回到命令行提示符下。在这篇文章中,我们将讨论在Linux系统中如何使用Ctrl+Z。 Ctrl+Z的常见用途 Ctrl+Z常用于以下几个场景: 暂停一个正在运行的进程 将一个后台进程切换到前台 终止一个正在运行的进程…

    其他 2023年3月29日
    00
  • Apache JMeter 5.5 下载安装及设置中文图文教程

    下面是“Apache JMeter 5.5 下载安装及设置中文图文教程”的完整攻略,包含下载、安装过程和两个示例说明。 Apache JMeter 5.5 下载安装及设置中文图文教程 下载Apache JMeter 首先,我们需要下载最新版本的 Apache JMeter,你可以在 Apache JMeter 官网 上找到最新的版本。推荐下载最新的版本进行使…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部