根据文档,只是探索将Vue过渡引入我的项目的可能性,在过渡过程中有六个类可以使用,v-leave
就是其中之一,但似乎没有用于任何例子。
所以,我创建了一个简单的示例,如下所示,看它是如何工作的,似乎类v-leave
被添加到元素但它没有任何效果?
有谁可以指出我做错了什么?
提前致谢。
new Vue({
el: '#demo',
data: {
show: false
}
})
.v-leave {
transform: translateY(50px);
}
.v-leave-to {
opacity: 0;
}
.v-leave-active{
transition: all 1s ease;
}
.v-enter {
opacity: 0;
}
.v-enter-to {
opacity: 1;
}
.v-enter-active {
transition: opacity 1s ease;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.2/vue.min.js"></script>
<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition>
<p v-show="show">hello</p>
</transition>
</div>
答案 0 :(得分:1)
您应该执行以下操作以进入/离开:
HTML:
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.2/vue.min.js"></script>
<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition name="fade">
<p v-if="show">hello</p>
</transition>
</div>
CSS:
.fade-enter-active, .fade-leave-active {
transition: opacity .5s
}
.fade-enter, .fade-leave-to {
opacity: 0
}
您的主要问题是为转换设置名称(在本例中为fade
),然后从CSS中引用它。
official documentation Working example [here][1]
中有一个像你这样的优秀例子修改强>
在文档中:
v-leave:休假的起始状态。离开时立即添加 触发过渡,在一帧之后删除。
和
v-leave-active:休假的活跃状态。 [...]此类可用于定义离开过渡的持续时间,延迟和缓动曲线
v-leave仅适用于detect
转换的开始(并对其执行某些操作),但如果您使用它,则所需的效果仅渲染1帧。如果您想使用leave
动画,则应使用leave-active
指定持续时间和其他内容。
希望它有所帮助!