本文介绍: flag“>显示或隐藏.box{}// 进入过渡动画// 开始进入height: 0;width: 0;}// 进入过程}// 进入结束}// 离开的过渡动画// 开始离开}// 离开过程}// 离开结束height: 0;width: 0;}flag“>显示或隐藏// 对应的css.e-from{height: 0;width: 0;

Vue 提供了 transition封装组件可以元素组件添加进入/离开过渡动画:一下情景可以使用

transition组件的name属性自定义,并在css写入对应的样式

<button @click="flag = !flag">显示或隐藏</button>
<transition name="box"&gt;
   <div class="box" v-if="flag"></div>
</transition>
.box{
    width: 100px;
    height: 100px;
    background-color: blue;
}
// 进入的过渡动画
// 开始进入
.box-enter-from{
    height: 0;
    width: 0;
}
// 进入过程
.box-enter-active{
    transition: all 2s ease;
}
// 进入结束
.box-enter-to{
    height: 100px;
    width: 100px;
}
// 离开的过渡动画
// 开始离开
.box-leave-from{
    height: 100px;
    width: 100px;
    transform: rotate(360deg);
}
// 离开过程
.box-leave-active{
    transition: all 2s ease;
}
// 离开结束
.box-leave-to{
    height: 0;
    width: 0;
}

2. 自定义过渡 class 类名

<button @click="flag = !flag">显示或隐藏</button>
<transition 
    enter-from-class="e-from" 
    enter-active-class="e-active" 
    enter-to-class="e-to" 
name="fade">
   <div class="box" v-if="flag"></div>
</transition>


// 对应的css
.e-from{
    height: 0;
    width: 0;
}
.e-active{
    transition: all 2s ease;
}
.e-to{
    height: 100px;
    width: 100px;
}

通过自定义class可以 结合css动画库animate css使用

安装npm install animate.css -s

在组件中引入 import ‘animate.css’

文档 Animate.css | A cross-browser library of CSS animations.

3.transition 8个生命周期

        <transition 
            @before-enter="EnterFrom"
            @enter="EnterActive"
            @after-enter="EnterTo"
            @enter-cancelled="EnterCancel"
            @before-leave="LeaveFrom"
            @leave="LeaveActive"
            @after-leave="LeaveTo"
            @leave-cancelled="LeaveCancel"
        name="fade">
            <div class="shop" v-if="flag"></div>
        </transition>
const EnterFrom = (el:Element)=>{
    console.log('进入之前');
}
const EnterActive = (el:Element, done:Function)=>{
    console.log('进入的过渡曲线');
    setTimeout(()=>{
        done()
    },3000)
}
const EnterTo = (el:Element)=>{
    console.log('过渡完成');  
}
const EnterCancel = (el:Element)=>{
    console.log('执行过渡效果被打断');
}
const LeaveFrom = ()=>{
    console.log('离开之前');
    
}
const LeaveActive = (el:Element, done:Function)=>{
    console.log('离开的过渡曲线');
    setTimeout(()=>{
        done()
    },3000)
}
const LeaveTo = (el:Element)=>{
    console.log('离开过渡完成');  
}
const LeaveCancel = (el:Element)=>{
    console.log('离开过渡效果被打断');
}

4. appear

通过这个属性可以设置初始节点的过渡动画,对应三个状态

<transition 
    appear
    appear-active-class=""
    appear-from-class=""
    appear-to-class=""
name="fade">
  <div class="shop" v-if="flag"></div>
</transition>

可以结合css动画库animate css使用

原文地址:https://blog.csdn.net/weixin_70617457/article/details/128390052

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_7797.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注