Vue fade in是Vue框架中常用的動(dòng)畫效果之一。它可以為網(wǎng)頁(yè)添加過(guò)渡效果,并使頁(yè)面元素從不透明變?yōu)橥该鳌?/p>
要使用Vue fade in,需要先在Vue的component中定義過(guò)渡效果。例如:
<template>
<div class="fade">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'Fade',
methods: {
beforeEnter: function (el) {
el.style.opacity = 0
},
enter: function (el, done) {
Velocity(el, { opacity: 1 }, { duration: 300, complete: done })
},
leave: function (el, done) {
Velocity(el, { opacity: 0 }, { duration: 300, complete: done })
}
}
}
</script>
<style>
.fade-enter-active, .fade-leave-active {
transition: opacity .3s ease;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
opacity: 0;
}
</style>
在Vue中,過(guò)渡效果可以在<transition>標(biāo)簽中使用,例如:
<template>
<transition name="fade">
<div v-if="show">Content</div>
</transition>
</template>
在上面的例子中,<transition>標(biāo)簽內(nèi)部的內(nèi)容會(huì)在Vue fade in效果生效時(shí)自動(dòng)添加過(guò)渡效果。其中name屬性對(duì)應(yīng)定義過(guò)渡效果的component的name。
需要注意的是,在使用Vue fade in時(shí),過(guò)渡效果的名稱應(yīng)該在<style>標(biāo)簽中進(jìn)行自定義,以保證組件的styles不會(huì)被全局style污染。