1.首先將需要動畫效果的元素放在 <transition>標(biāo)簽里面
2.在<style>樣式表里面添加 .v-enter .v-leave-to .v-enter-active .v-leave-active
代碼示例:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="../util/vue-2.4.0.js"></script>
<script src="../util/vue-resource-1.3.4.js"></script>
<style>
/*
vue分為入場動畫,和離場動畫
v-enter 這是入場動畫開始之前的狀態(tài),即原狀態(tài) 到 達(dá)到動畫效果的時間段的起始點
v-leave-to 是離場動畫結(jié)束后的狀態(tài) 即 動畫效果還原到初始狀態(tài)后的結(jié)束點
注意下面的是類名,不要少寫了點
*/
.v-enter,.v-leave-to{
opacity: 0; //透明度,0代表完全透明,1完全不透明
}
.v-enter-active,.v-leave-active{
transition: all 1s ease; // all 所有樣式, 0.5秒動畫的執(zhí)行時間,ease變速執(zhí)行
}
</style>
</head>
<body>
<div id="test">
<input type="button" @click.prevent="tag_class" value="button">
<!--使用transition元素把需要被動畫控制的元素,包裹起來-->
<transition>
<h3 v-if="clobj">this is h3</h3>
</transition>
</div>
<script>
var vm1 = new Vue({
el:"#test",
data:{
clobj:true
},
methods:{
tag_class:function () {
this.clobj= !this.clobj
}
},
filters:{},
directives:{}
})
</script>
</body>
</html>