美文网首页
Vue之过渡动画

Vue之过渡动画

作者: 念念碎平安夜 | 来源:发表于2019-07-28 11:50 被阅读0次

一、简介

1、Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果
2、本质上还是使用CSS3动画:transition、animation

二、基本用法

1、使用transition组件,将要执行动画的元素包含在该组件内

<transition>运动的元素</transition>

2、例子 => 点击按钮隐藏和显示div

<style>
    p {
    width: 300px;
    height: 300px;
    background-color: red;
}
</style>
<div id="itany">
    <button @click="flag=!flag">点我</button>
    <p v-show="flag">hello</p>
</div>
<script>
    var vm = new Vue({
        el: '#itany',
        data: {
            flag: false
        },
    });
</script>

3、为显示和隐藏添加效果

<transition name="fade"> // 需要给此组件起一个名字,后续要用到
    <p v-show="flag">hello</p>
</transition>
<style>
    p {
    width: 300px;
    height: 300px;
    background-color: red;
}

.fade-enter-active,.fade-leave-active {
    transition: all 3s ease;
}

.fade-enter-active {
    opacity: 1;
    width: 300px;
    height: 300px;
}

.fade-leave-active {
    opacity: 0;
    width: 50px;
    height: 50px;
}
        /* .fade-enter需要放在.fade-enter-active的后面 */
.fade-enter {
    opacity: 0;
    width: 100px;
    height: 100px;
}
</style>

三、动画出现的不同时机,可以使用钩子函数做某些操作,钩子函数有8个,例5个:

<transition name="fade" 
@before-enter="beforeEnter" 
@enter="enter" 
@after-enter="afterEnter"
@before-leave="beforeLeave" 
@leave="leave" 
@after-leave="afterLeave">
    <p v-show="flag">hello</p>
</transition>

methods: {
    beforeEnter(el) {
        // alert('动画进入之前');
    },
    enter() {
        // alert('动画进入');
    },
    afterEnter(el) {
        // alert('动画进入之后');
        el.style.background = 'blue';
    },
    beforeLeave() {
        // alert('动画即将之前');
    },
    leave() {
        // alert('动画离开');
    },
    afterLeave(el) {
        // alert('动画离开之后');
        el.style.background = 'red';
    }
}

四、结合第三方动画库animate.css一起使用

<transition enter-active-class="animated fadeInLeft" leave-active-class="animated fadeOutRight">
    <p v-show="flag">hello</p>
</transition>

相关文章

  • 2021-01-08

    Vue过渡和动画 Vue过渡和动画官方文档[https://cn.vuejs.org/v2/guide/trans...

  • 17.vue中多个元素或者多个组件的过渡动画列表过渡

    1.多个元素过渡动画 2.多个组件的过渡动画 3.vue中的列表过渡

  • Vue中多个元素或组件的过渡

    Vue中多个元素的过渡 Vue中多个组件的过渡(通过动态组件实现组件的过渡动画效果)image.png

  • Vue神一般的打开姿势

    过渡&动画 vue 动画的理解 1)操作 css 的 trasition 或 animation2)vue 会给目...

  • Vue动画

    Vue动画 Vue动画 CSS transition 在进入/离开的过渡中,会有 6 个 class 切换。 对于...

  • 【Vue3 从入门到实战 进阶式掌握完整知识体系】019-Vue

    四、Vue中的动画 1、使用 Vue 实现基础的 CSS 过渡与动画效果 过渡:比如说一个 div 的背景颜色从红...

  • vue过渡动画

    多标签名过渡时,如果标签名相同,必须在标签中加入key属性来对标签进行区分,否则动画不执行。 当然,您也可以使用不...

  • vue 过渡动画

    一、name值的定义,如图所示: 二、对四个阶段的深入理解 1.fade-enter和fade-leave的值一般...

  • Vue过渡动画

    vue可以在元素或组件进入和消失的时候提供过渡效果 使用过渡: vue会自动嗅探目标元素是否应用了 CSS 过渡或...

  • Vue过渡动画

    Vue内置组件 可以给任何元素,组件添加过渡,用 包裹元素、组件。当插入或删除包含在 transition 组件中...

网友评论

      本文标题:Vue之过渡动画

      本文链接:https://www.haomeiwen.com/subject/xwoyrctx.html