Vue 学习笔记 - 内置组件 - Transition

详细讲一下Vue3中的Transition组件用法(动画) 自定义动画 阅读详情

Transition

<Transition> 会在一个元素或组件进入和离开 DOM 时应用动画。本章节会介绍如何使用它。

内置组件可以在任意的组件中被使用,无需注册。它可以将进入和和离开动画应用到传递给它的元素或组件上

进入或离开的触发条件

  • 由 v-if 所触发的切换
  • 由 v-show 所触发的切换
  • 由特殊元素 切换的动态组件
  • 改变特殊的 key 属性
<button @click="show = !show">Toggle</button>
<Transition>
  <p v-if="show">hello</p>
</Transition>
.v-enter-active,
.v-leave-active {
  transition: opacity 0.5s ease; /* 0.5s内透明:慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))(相对于匀速,中间快,两头慢)。*/
}

.v-enter-from,
.v-leave-to {
  opacity: 0;
}

<Transition> 仅支持单个元素或组件作为其内容。如果内容是一个组件,这个组件必须仅有一个根元素。

当一个 <Transition> 组件中的元素被插入或移除时,会发生下面这些事情:

  1. Vue会自动检测目标元素是否应用了CSS过渡或动画,如果是,则一些CSS过渡class会在适当的时机被添加和移除
  2. 如果有作为监听器的Javascript钩子,这些钩子函数会在适当时机被调用
  3. 如果没有探测到CSS过渡或动画,也没有提供JavaScript钩子,那么DOM的插入,删除操作将在浏览器的下一个动画帧后执行
基于CSS的过渡效果

一共有6个应用于进入与离开过渡效果的CSS class

17445933468144.jpg

  1. v-enter-from: 进入动画的起始状态。在元素插入之前添加,在元素插入完成后的下一帧移除。
  2. v-enter-active: 进入动画的生效状态。应用于整个动画阶段。在元素被插入之前添加,在过渡或动画完成之前移除。这个class可以被用来定义动画的持续时间,延迟与速度曲线类型
  3. v-enter-to: 进入动画的结束状态。在元素插入完成后的下一帧被添加(也就是v-enter-from被移除的同时),在过渡或动画完成之后移除
  4. v-leave-from: 离开动画的起始状态。在离开过渡效果被触发时立即添加,在一帧后被移除。
  5. v-leave-active:离开动画的生效状态。应用于整个离开动画阶段。在离开过渡效果被触发时立即添加,在过渡或动画完成之后移除。这个 class 可以被用来定义离开动画的持续时间、延迟与速度曲线类型。
  6. v-leave-to:离开动画的结束状态。在一个离开动画被触发后的下一帧被添加 (也就是 v-leave-from 被移除的同时),在过渡或动画完成之后移除。
为过渡效果命名
<Transition name="fade">
  ...
</Transition>

那前面那几个对应的class会以其姓名而不是v作为前缀

.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}
CSS的transition

<Transition> 一般都会搭配原生 CSS 过渡一起使用,这个 transition CSS 属性是一个简写形式,使我们可以一次定义一个过渡的各个方面,包括需要执行动画的属性、持续时间和速度曲线。

<Transition name="slide-fade">
  <p v-if="show">hello</p>
</Transition>
/*
  进入和离开动画可以使用不同
  持续时间和速度曲线。
*/
.slide-fade-enter-active {
  transition: all 0.3s ease-out;
}

.slide-fade-leave-active {
  transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);
}

.slide-fade-enter-from,
.slide-fade-leave-to {
  transform: translateX(20px);
  opacity: 0;
}
CSS的animation

原生 CSS 动画和 CSS transition 的应用方式基本上是相同的,只有一点不同,那就是 *-enter-from 不是在元素插入后立即移除,而是在一个 animationend 事件触发时被移除。

对于大多数的 CSS 动画,我们可以简单地在 *-enter-active 和 *-leave-active class 下声明它们

<Transition name="bounce">
  <p v-if="show" style="text-align: center;">
    Hello here is some bouncy text!
  </p>
</Transition>
.bounce-enter-active {
  animation: bounce-in 0.5s; /* 展示时0.5s完成bounce-in这个动画 */
}
.bounce-leave-active { 
  animation: bounce-in 0.5s reverse; /* 隐藏时使用相反的动画效果 */
}
@keyframes bounce-in {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}

关键帧 @keyframes 规则通过在动画序列中定义关键帧(或 waypoints)的样式来控制 CSS 动画序列中的中间步骤。

即先0 -> 放大1.25 -> 原来大小

自定义过渡 class

也可以向 <Transition> 传递以下的 props 来指定自定义的过渡 class

传入的class会覆盖相应阶段的默认class名。这个功能在想要集成其它的第三方CSS动画库时非常有用

<!-- 假设你已经在页面中引入了 Animate.css -->
<Transition
  name="custom-classes"
  enter-active-class="animate__animated animate__tada"
  leave-active-class="animate__animated animate__bounceOutRight"
>
  <p v-if="show">hello</p>
</Transition>
同时使用transition和animation

Vue 需要附加事件监听器,以便知道过渡何时结束。可以是 transitionend 或 animationend,这取决于你所应用的 CSS 规则。如果你仅仅使用二者的其中之一,Vue 可以自动探测到正确的类型。

然而在某些场景中,你或许想要在同一个元素上同时使用它们两个。举例来说,Vue 触发了一个 CSS 动画,同时鼠标悬停触发另一个 CSS 过渡。此时你需要显式地传入 type prop 来声明,告诉 Vue 需要关心哪种类型,传入的值是 animation 或 transition:

<Transition type="animation">...</Transition>
深层级过渡与显式过渡时长

尽管过渡 class 仅能应用在 <Transition> 的直接子元素上,我们还是可以使用深层级的 CSS 选择器,在深层级的元素上触发过渡效果:

<Transition name="nested">
  <div v-if="show" class="outer">
    <div class="inner">
      Hello
    </div>
  </div>
</Transition>
/* 应用于嵌套元素的规则 */
.nested-enter-active .inner,
.nested-leave-active .inner {
  transition: all 0.3s ease-in-out;
}

.nested-enter-from .inner,
.nested-leave-to .inner {
  transform: translateX(30px);
  opacity: 0;
}

/* ... 省略了其他必要的 CSS */

然而,这会带来一个小问题。默认情况下,<Transition> 组件会通过监听过渡根元素上的第一个 transitionend 或者 animationend 事件来尝试自动判断过渡何时结束。而在嵌套的过渡中,期望的行为应该是等待所有内部元素的过渡完成。

在这种情况下,你可以通过向 <Transition> 组件传入 duration prop 来显式指定过渡的持续时间 (以毫秒为单位)。总持续时间应该匹配延迟加上内部元素的过渡持续时间:

<Transition :duration="{ enter: 500, leave: 800 }">...</Transition>
JavaScript 钩子
<Transition
  @before-enter="onBeforeEnter"
  @enter="onEnter"
  @after-enter="onAfterEnter"
  @enter-cancelled="onEnterCancelled"
  @before-leave="onBeforeLeave"
  @leave="onLeave"
  @after-leave="onAfterLeave"
  @leave-cancelled="onLeaveCancelled"
>
  <!-- ... -->
</Transition>
export default {
  // ...
  methods: {
    // 在元素被插入到 DOM 之前被调用
    // 用这个来设置元素的 "enter-from" 状态
    onBeforeEnter(el) {},

    // 在元素被插入到 DOM 之后的下一帧被调用
    // 用这个来开始进入动画
    onEnter(el, done) {
      // 调用回调函数 done 表示过渡结束
      // 如果与 CSS 结合使用,则这个回调是可选参数
      done()
    },

    // 当进入过渡完成时调用。
    onAfterEnter(el) {},

    // 当进入过渡在完成之前被取消时调用
    onEnterCancelled(el) {},

    // 在 leave 钩子之前调用
    // 大多数时候,你应该只会用到 leave 钩子
    onBeforeLeave(el) {},

    // 在离开过渡开始时调用
    // 用这个来开始离开动画
    onLeave(el, done) {
      // 调用回调函数 done 表示过渡结束
      // 如果与 CSS 结合使用,则这个回调是可选参数
      done()
    },

    // 在离开过渡完成、
    // 且元素已从 DOM 中移除时调用
    onAfterLeave(el) {},

    // 仅在 v-show 过渡中可用
    onLeaveCancelled(el) {}
  }
}

在使用仅由 JavaScript 执行的动画时,最好是添加一个 :css="false" prop。这显式地向 Vue 表明可以跳过对 CSS 过渡的自动探测。除了性能稍好一些之外,还可以防止 CSS 规则意外地干扰过渡效果:

<Transition
  ...
  :css="false"
>
  ...
</Transition>
可复用过渡效果

创建一个MyTransition.vue组件

<!-- MyTransition.vue -->
<script>
// JavaScript 钩子逻辑...
</script>

<template>
  <!-- 包装内置的 Transition 组件 -->
  <Transition
    name="my-transition"
    @enter="onEnter"
    @leave="onLeave">
    <slot></slot> <!-- 向内传递插槽内容 -->
  </Transition>
</template>

<style>
/*
  必要的 CSS...
  注意:避免在这里使用 <style scoped>
  因为那不会应用到插槽内容上
*/
</style>

scoped属性是HTML5中的新属性,是一个布尔属性。如果使用该属性,则样式仅仅应用到style元素的父元素及其子元素

现在 MyTransition 可以在导入后像内置组件那样使用了:

<MyTransition>
  <div v-if="show">Hello</div>
</MyTransition>
出现时过渡

在某个节点初次渲染时应用一个过渡效果

<Transition appear>
  ...
</Transition>
元素间过渡

除了通过 v-if / v-show 切换一个元素,我们也可以通过 v-if / v-else / v-else-if 在几个组件间进行切换,只要确保任一时刻只会有一个元素被渲染即可:

<Transition>
  <button v-if="docState === 'saved'">Edit</button>
  <button v-else-if="docState === 'edited'">Save</button>
  <button v-else-if="docState === 'editing'">Cancel</button>
</Transition>
过渡模式

在之前的例子中,进入和离开的元素都是在同时开始动画的,因此我们不得不将它们设为 position: absolute 以避免二者同时存在时出现的布局问题。

然而,很多情况下这可能并不符合需求。我们可能想要先执行离开动画,然后在其完成之后再执行元素的进入动画。手动编排这样的动画是非常复杂的,好在我们可以通过向 <Transition> 传入一个 mode prop 来实现这个行为:

<Transition mode="out-in">
  ...
</Transition>
组件间过渡

<Transition> 也可以作用于动态组件之间的切换:

<Transition name="fade" mode="out-in">
  <component :is="activeComponent"></component>
</Transition>
<script>
import CompA from './CompA.vue'
import CompB from './CompB.vue'

export default {
  components: { CompA, CompB },
  data() {
    return {
      activeComponent: 'CompA'
    }
  }
}
</script>

<template>
	<label>
	 <!-- v-model与activeComponent建立双向绑定 -->
    <input type="radio" v-model="activeComponent" value="CompA"> A
  </label>
  <label>
    <input type="radio" v-model="activeComponent" value="CompB"> B
  </label>
  <Transition name="fade" mode="out-in">
    <component :is="activeComponent"></component>
  </Transition>
</template>

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

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}
</style>
动态过渡

<Transition> 的 props (比如 name) 也可以是动态的!这让我们可以根据状态变化动态地应用不同类型的过渡:

<Transition :name="transitionName">
  <!-- ... -->
</Transition>

这个特性的用处是可以提前定义好多组 CSS 过渡或动画的 class,然后在它们之间动态切换。

使用 Key Attribute 过渡

有时为了触发过渡,需要强制重新渲染 DOM 元素。

比如计数器组件

<script>
export default {
  data() {
    return {
      count: 1,
      interval: null 
    }
  },
  mounted() {
    this.interval = setInterval(() => {
      this.count++;
    }, 1000)
  },
  beforeDestroy() {
    clearInterval(this.interval)
  }
}
</script>

<template>
  <Transition>
    <span :key="count">{{ count }}</span>
  </Transition>
</template>

有了 key 属性,Vue 就知道在 count 改变时创建一个新的 span 元素,因此 Transition 组件有两个不同的元素在它们之间进行过渡

小结:

  1. 各种过渡都是说明可以有各种各样的目标对象。根据时间点,元素,组件,key值,name进行过渡操作

参考

  1. Vue-内置组件-Transition
  2. css 动画中 ease,seae-in,ease-in-out,ease-out,效果区别
  3. @keyframes
  4. vue—style scoped属性的作用和原理、scoped穿透
vue3过渡动画详解 一、vue中动画简单介绍 在vue中如果一些过程不存在动画效果,则表现出来的结果是比较生硬的。此时我们需要设置动画来使得页面更加灵活。 如上面代码所示,我们的h1只是在消失和显示来回切换,但是这样效果生硬。 此时我们使用transition组件来实现动画效果。 二、vue的transition动画 transition组件可以添加name属性,注意name属性值可以为class样式的第一个字符串。上面例子会在出现和消失会展示出来opacity渐变的情况。 三、transition组件的实现原理 上面的图 阅读详情

相关推荐

vue3内置组件过渡动画transition

template></div></div><script>setup() {// 在元素被插入到 DOM 之前被调用// 用这个来设置元素的 "enter-from" 状态// 在元素被插入到 DOM 之后的下一帧被调用// 用这个来开始进入动画done();}, 100);// 当进入过渡完成时调用。// 在 leave 钩子之前调用// 大多数时候,你应该只会用到 leave 钩子// 在离开过渡开始时调用// 用这个来开始离开动画。

qq_44136028的博客 1450

vue3的transition

transition过渡属性linear:规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。ease:规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))ease-in:规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))ease-out:规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))ease-in-out:规定以慢速开始和结束的过渡效果(等于 cu

qq_38677540的博客 6216

【Vue3第二十四章】TransitionGroup 列表动画组件

TransitionGroup 列表动画组件

前端知识分享喵 2966

vue3-内置组件-Transition

你也可以向 传递以下的 props 来指定自定义的过渡 class:leave-to-class 你传入的这些 class 会覆盖相应阶段的默认 class 名。这个功能在你想要在 Vue 的动画机制下集成其他的第三方 CSS 动画库时非常有用,比如 Animate.css:安装 animate.css 动画库,(已安装的可以忽略)-- 假设你已经在页面中引入了 Animate.css -->

wdk996的博客 4418

SAP公司间外协业务流程以及配置说明

SAP公司间外协业务流程以及配置说明

竹大的博客 7168

PIVlab软件入门:从GUI操作到2D2C粒子测速实战

本文详细介绍了PIVlab软件在2D2C粒子测速中的入门与实战应用。从GUI操作到环境搭建,再到图像预处理和核心参数设置,帮助用户快速掌握这一基于MATLAB的开源工具。通过实际案例和技巧分享,展示了PIVlab在流体力学实验中的高效性和实用性。

weixin_42547431的博客 227

vue学习笔记

父组件定义修饰符//父组件 < MyComponent v - model . capitalize = "bookTitle" / >子组件声明属性和触发事件、自定义功能触发函数//子组件 const props = defineProps({//父组件 < MyComponent v - model : title . capitalize = "bookTitle" / >//子组件 const props = defineProps({当构建前端应用时,我们常常需要复用公共任务的逻辑。

m0_61989957的博客 244

保姆级教程:手把手教你下载和配置Waymo自动驾驶数据集(附百度网盘链接)

本文提供了一份详细的Waymo自动驾驶数据集下载和配置指南,特别针对国内研究者优化了数据获取方案,包括百度网盘链接和Google Cloud CLI配置。文章还涵盖了环境配置、数据处理实战、可视化分析以及进阶技巧,帮助开发者高效利用这一业界黄金标准数据集进行自动驾驶研究。

weixin_42651281的博客 363

Vue核心知识:内置组件Transition

通过组件,Vue 提供了强大的过渡效果功能,支持 CSS 和 JavaScript 动画、复用过渡效果、动态过渡、组件间过渡、元素间过渡等多种过渡场景。你可以使用name属性配置过渡效果,利用 CSS 控制动画,或者通过 JavaScript 钩子来精确控制过渡的过程。

百锦再的博客 1万+

【NVIDIA】Jetson Orin Nano系列:烧写Ubuntu22.04

Jeson Orin Nano系列:烧写Ubuntu22.04 电脑主机可以是Ubuntu20.04

郭老二 4895

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等

本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 3万+

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

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

一起学习 5277

SAP-ABAP:SAP数据库视图的创建图文详解

在“短文本”字段中输入视图的描述。在“表/视图”字段中输入要基于的表名。如果视图基于多个表,可以在这里输入主表。点击“表/视图字段”按钮,选择要包含在视图中的字段。如果视图基于多个表,点击“关系”按钮来定义表之间的连接条件。在弹出的窗口中,选择要连接的表,并定义连接条件(例如。

baidu_35680696的博客 973

vue内置组件Transition的详解

会在一个元素或组件进入和离开 DOM 时应用动画。会在一个 v-for 列表中的元素或组件被插入,移动,或移除时应用动画。简单地说,就是当元素发生变化,比如消失、显示时,添加动画让它更自然过渡。它是vue内置组件,不需要引入注册就可以直接使用。通过name可以自定义的过渡类名。注意:里面只能有一个根组件,但使用v-if、v-else、v-else-if切换显示是可以的。如果想对列表中的元素设置过渡,可以使用。

前端工程师 · Vue 生态深耕者,专注多端与工程化 8863

基于 YOLOv26 的电路焊点虚焊检测系统:AI 质检实战

本文介绍了一种基于YOLOv26的电路焊点虚焊检测系统,利用深度学习技术实现自动化质检。系统能识别虚焊、桥接、少锡等8种常见焊点缺陷,具有高精度、实时性和强鲁棒性等特点。文章详细阐述了系统架构,包括数据采集、预处理、YOLOv26检测模型和后处理模块,并提供了代码实现的关键部分,如数据预处理增强和模型训练配置。该系统可显著提高电子制造业的质检效率和准确性。

一键难忘的博客 692

[VT虚拟化驱动]安装DPC回调检测CPU对VT的支持

文章目录前言一、驱动基本框架二、安装DPC回调三、检测CPU对VT的支持本章代码def.h:DriverEntry.cpputil.cpp 前言 对于VT的介绍网上有很多详细的介绍,这里不再赘述,只需要知道它有比操作系统还高的权限,可以利用这一点进行某些操作,如内存隐藏, 无痕HOOK ,MSR HOOK, 调试或者反调试, 这里直奔主题 一、驱动基本框架 虚拟机设置里虚拟化引擎设置: 新建一个空的WDM工程,平台设置为x64平台,右键属性——>Inf2Cat——>Run Inf2Cat设置

吾无法无天的博客 3908

Vue内置组件Transition用法介绍

Vue中Transition组件详细介绍

nibabaoo的博客 1752

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Vue内置动画组件 Transition

Vue 的 <transition> 与 <transition-group>把元素或片段的插入、删除、移动翻译成可预测的 CSS 类名序列,再交由浏览器的样式系统完成剩余工作。理解这两段序列如何产生、何时产生,是写出高性能、无抖动动画的关键。

前端小巷子的博客 1095

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

vue内置组件

vue提供了一些内置组件,帮助我们实现一些特定功能,例如,动画、缓存组件实例等,可以根据实际需要去使用。

分享程序相关知识 979

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

vue 内置动画组件 transition介绍

vue官方介绍 vue的内置组件,可以给任意元素包裹并且添加离开进入的动画效果,官方文档已经介绍的很详细了,这里就简单举个例子 在routerView中用transition包裹,实现页面切换动画效果 <transition name="fade-transform" mode="out-in"> <router-view></router-view> </transition> 动画样式 /* fade-transform */ .fade-transf

空·之·音 2568

VUE3内置组件Transition的学习使用

VUE3内置组件Transition的学习使用

宁波阿成的博客 1760

vue3 Transition内置组件的使用。

你也可以向你传入的这些 class 会覆盖相应阶段的默认 class 名。这个功能在你想要在 Vue 的动画机制下集成其他的第三方 CSS 动画库时非常有用,比如

weixin_43995143的博客 985

【Vue】transition 标签的使用

# transition 标签 - transition 标签:Vue 内置的动画标签 - 作用:在 [插入] / [更新] / [移除] DOM 元素时,在合适的时候给元素添加样式类名(配合 CSS 样式使用,实现动画效果) **注意事项:** - transition 标签只能包含 **1 个** 元素;如果里面写了多个元素,则只生效第一个 - transition 包裹的标签需要设置 `v-show` / `v-if` 属性控制元素的显示 **动画 CS

Superman_H的博客 4万+

Angular React Vue 比较 – 组件篇之内置组件

本篇文章是组件篇的最后一篇,我们将探讨一下三大框架本身的内置组件。

zhangjunfa123456的博客 1875

vue3 - 内置组件Transition打造流畅动画效果

Vue的Transition组件为元素和组件的进入/离开/更新提供过渡动画支持。它可以通过CSS或JavaScript实现动画效果,提升用户体验。核心功能包括:1)基本用法,通过v-if/v-show控制元素显示,配合CSS过渡类实现淡入淡出效果;2)生命周期钩子(如beforeEnter/enter/afterEnter等)允许在过渡各阶段执行操作;3)支持CSS过渡和CSS动画两种实现方式;4)可与v-if/v-show配合使用,其中v-if会触发完整的过渡生命周期;5)通过key属性确保元素变化时的过

尽日寻春不见春,芒鞋踏遍陇头云。归来笑拈梅花嗅,春在枝头已十分。 866
上一篇: Vue学习笔记 - 插件
下一篇: 学习笔记 - Swfit 6.1 - 语法概览
忘川三
博客等级 码龄12年 208粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值