通过简单实例来说明:
<script src="../vue-2.4.0.js"></script>
<!-- 2. 自定义两组样式,来控制 transition 内部的元素实现动画 -->
<style>
.v-enter,
/* v-enter 创建时间点:进入之前,动画元素的起始状态,此时该元素还没有开始进入 */
.v-leave-to {
/* v-leave-to 创建时间点:离开之后,动画元素离开后的状态,此时该元素的动画已经结束了 */
opacity: 0;
transform: translateX(150px);
}
.v-enter-active,
/* v-enter-active 【入场动画的时间段】 */
.v-leave-active{
/* v-leave-active 【离场动画的时间段】 */
transition: all 0.8s ease;
}
</style>
</head>
<body>
<!-- 创建一个Vue容器-->
<div id="app">
<!-- 创建一个点击按钮,让 h3 显示,再点击,让 h3 隐藏 -->
<input type="button" value="toggle" @click="flag=!flag">
<!-- 通过控制flag来实现显示隐藏的切换,当flag==true时隐藏,当flag==false时显示-->
<transition>
<!-- 1. 使用 transition 元素,把 需要被动画控制的元素,包裹起来 -->
<!-- transition 元素,是 Vue 官方提供的 -->
<h3 v-if="flag">这是一个H3</h3>
</transition>
</div>
<script>
// 创建 Vue 实例,得到 ViewModel
var vm = new Vue({
el: '#app',
data: {
flag: false
},
methods: {}
});
</script>