vue中的transition使用

vue为节点插入、更新、删除时提供了css过渡工具

1.自动添加class类名

2.整合第三方动画库

以下是官网的示例

HTML

<div id="demo">
  <button v-on:click="show = !show">
    Toggle
  </button>
  <transition name="fade">
    <p v-if="show">hello</p>
  </transition>
</div>

JS

new Vue({
  el: ‘#demo‘,
  data: {
    show: true
  }
})

CSS

.fade-enter-active, .fade-leave-active {
  transition: opacity .5s
}
.fade-enter, .fade-leave-to /* .fade-leave-active in <2.1.8 */ {
  opacity: 0
}

效果如下

过程分析:

1.点击按钮,show的值变为false
2.v-if的值为false,引起p节点删除操作
3.★transition检测到删除操作发生,为变化元素添加类fade-leave-active
4.★将变化元素添加类fade-leave-to,激发transition
5.删除节点

时间: 2025-01-06 23:38:07

vue中的transition使用的相关文章

05.vue中js动画与Velocity.js的结合

vue中js动画 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中js动画</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head>

在Vue中使用 animate.css 库

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>在Vue中使用 animate.css 库</title> <script src="./vue.js"></script> <link rel="stylesheet" type=&qu

Vue 中的动画特效

Vue 中的动画特效 CSS 实现标签显隐 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-U

Vue中的动画效果

Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css 在过渡钩子函数中使用 JavaScript 直接操作 DOM 可以配合使用第三方 JavaScript 动画库,如 Velocity.js 下面分别从这个4个工具来学习Vue动画效果. 一.单元素/组件的过渡 Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进

Vue中过渡与动画

1.元素的显示与隐藏,实现过渡动画效果 (1)为目标元素添加一个父元素 transition,并添加name属性 在目标元素中添加v-show=“isShow”  isShow为Vue中的data 添加button按钮控制“isShow的值 <div id="demo"> <button @click="isShow = !isShow">点击这里变色</button> <transition name="isd&

vue中的半程动画

vue中使用css和第三方库完成的动画都是全程动画(又开始,有结束),当有些需求只需要又开始的动画,不需要有结束的动画时(加入购物车时,有一个小球慧聪商品按钮区域,运动到购物车图标上,并不会返回回去),他们两个不会满足需求 此时vue为我们提供了 JavaScript 钩子可以满足需求 <transition v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="af

Vue中的JS与Velocity.js的结合

JS动画效果,注意事件函数中所传递的传递的参数及某些事件函数返回的函数 1.进入动画钩子:before-enter,enter,after-enter; 2.离开动画钩子:before-leave,leave,after-leave; 3.在enter钩子中的函数调用done()告诉Vue,JS动画完成. 4.使用velocity.js动画库实现动画:Velocity(el,{样式属性},{duration:1000,complete:done}) <!DOCTYPE html> <ht

理解Vue中的Render渲染函数

VUE一般使用template来创建HTML,然后在有的时候,我们需要使用javascript来创建html,这时候我们需要使用render函数.比如如下我想要实现如下html: <div id="container"> <h1> <a href="#"> Hello world! </a> </h1> </div> 我们会如下使用: <!DOCTYPE html> <html

vue中自定义指令

在vue中自定义标签,首先要调用vue中一个directive的方法,具体方法:Vue.direction('指令名称',function(){ }); 例如我们要写一个关于颜色的指令,叫v-colorred: 1 Vue.directive('colorred',function(){ 2 3 this.el.style.color='red'; 4 }); 在html中,我直接用v-colorred指令就可以了,例如: 1 <p v-colorred>1234567890</p>