加一个功能,当刷新页面的时候也有动画效果(加上appear和appear-active-class="animated rubberBand":

<!DOCTYPE html><html><head>    <title></title>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <link rel="stylesheet" type="text/css" href="./animate.css">    <script src="./vue.js"></script>    <!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> --></head><body>    <div id="root">        //name随便取名:        <!-- <transition name="fade">            <div v-show="show">hello</div>        </transition> -->        //自定义class名字:        <transition             name="fade"             appear             enter-active-class="animated rubberBand"             leave-active-class="animated hinge"             appear-active-class="animated rubberBand"        >            <div v-show="show">hello</div>        </transition>        <button @click="handleClick">切换</button>    </div>    <script type="text/javascript">        var vm = new Vue({            el: "#root",            data: {                show: true            },            methods: {                handleClick: function() {                    this.show = !this.show                }            }        });    </script></body></html>

如果过渡和库的动画都有:

<!DOCTYPE html><html><head>    <title></title>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <link rel="stylesheet" type="text/css" href="./animate.css">    <script src="./vue.js"></script>    <!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> -->    <style type="text/css">        .fade-enter, .fade-leave-to {            opacity: 0        }        .fade-enter-active, .fade-leave-active {            transition: opacity 3s        }    </style></head><body>    <div id="root">        //name随便取名:        <!-- <transition name="fade">            <div v-show="show">hello</div>        </transition> -->        //自定义class名字:        <transition             name="fade"             appear             enter-active-class="animated rubberBand fade-enter-active"             leave-active-class="animated hinge fade-leave-active"             appear-active-class="animated rubberBand"        >            <div v-show="show">hello</div>        </transition>        <button @click="handleClick">切换</button>    </div>    <script type="text/javascript">        var vm = new Vue({            el: "#root",            data: {                show: true            },            methods: {                handleClick: function() {                    this.show = !this.show                }            }        });    </script></body></html>

但是,问题是,animate库的动画时长是1s,而我自己设置的是3s,所以要统一下时间。用type="transition",意思是以transition时间为准:

(但是经过测试,发现有问题)

还可以设置时间duration="10000",单位毫秒。还可以设置更细:duration="{enter: 5000, leave: 1000}":

<!DOCTYPE html><html><head>    <title></title>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <link rel="stylesheet" type="text/css" href="./animate.css">    <script src="./vue.js"></script>    <!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> -->    <style type="text/css">        .fade-enter, .fade-leave-to {            opacity: 0;        }        .fade-enter-active,         .fade-leave-active {            transition: opacity 3s;        }    </style></head><body>    <div id="root">        //自定义class名字:        <transition             :duration="{enter: 5000, leave: 1000}"            name="fade"             appear             enter-active-class="animated rubberBand fade-enter-active"             leave-active-class="animated hinge fade-leave-active"             appear-active-class="animated rubberBand"        >            <div v-show="show">hello</div>        </transition>        <button @click="handleClick">切换</button>    </div>    <script type="text/javascript">        var vm = new Vue({            el: "#root",            data: {                show: true            },            methods: {                handleClick: function() {                    this.show = !this.show                }            }        });    </script></body></html>