<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vue中同时使用过渡和动画</title>
<script src="vue.js"></script>
<link rel="stylesheet" type="text/css" href="animate.css"/>
<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="app">
<!-- 使用css原理实现一个过渡动画 swing和shake是animate库中的动画 -->
<!--:duration自定义动画时长 -->
<!-- 1:使用appear和appear-active-class实现一进入页面就有动画效果 -->
<!-- 2:自定义class样式实现同时有动画和过渡效果 -->
<!-- 3:使用duration自定义动画时长 -->
<transition
:duration="{enter:3000,leave:5000}"
appear
enter-active-class="animated swing fade-enter-active"
leave-active-class="animated shake fade-leave-active"
appear-active-class="animated swing"
>
<div v-if="show">hello world</div>
</transition>
<button type="button" @click="handleBtn">出现/隐藏</button>
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
show:true
},
methods:{
handleBtn:function(){
this.show=!this.show
}
}
})
</script>
</body>
</html>