<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<!--2.自定义两组样式来控制transition内部的元素实现动画-->
<style>
/*v-enter是进入之前,元素的起始状态,此时还没有进入*/
.v-enter{
opacity:0;
transform:translateX(80px);
}
/*v-leave-to是动画离开之后,离开的终止状态,此时动画已经结束了*/
.v-leave-to{
opacity:0;
transform:translateX(80px);
}
/*v-enter-active是入场动画的时间段*/
.v-enter-active{
transition:all 0.4s ease;
}
/*v-enter-active是离场动画的时间段*/
.v-leave-active{
transition:all 0.4s ease;
}
</style>
</head>
<body>
<!--1.使用transition元素,把需要被动画控制的元素包裹起来-->
<!--tranistion元素,是Vue官方提供的-->
<div id="app">
<transition>
<h3 v-if="flag">{{msg}}</h3>
</transition>
<input type="button" value="切换" @click="change">
</div>
<script>
var vm=new Vue({
el:"#app",
data:{
msg:"我是一个H3",
flag:true
},
methods:{
change(){
this.flag=!this.flag;
}
}
})
</script>
</body>
</html>