私は少しbasic example for transitionsを拡張し、要素1 div
にフェードアウトすると同時に、他の上での退色を持っていると思った:トランジションの状態が終了しても、トランジションの状態が維持されないのはなぜですか?
new Vue({
el: '#demo',
data: {
show: true
}
})
.fade-enter-active,
.fade-leave-active {
transition: opacity 2s
}
.fade-enter,
.fade-leave-to {
opacity: 0
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.3/vue.js"></script>
<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition name="fade">
<p v-show="show">hello</p>
</transition>
<transition name="fade">
<p v-show="!show">hello</p>
</transition>
</div>
意図したとおりしかしこれは動作しません。上のhello
はフェードアウトし、下のものはフェードインします(これまでOK)が、下のものは消え、上のものが表示されます(直ちに、状態が変化して遷移がないようになります)。
ボタンをもう一度クリックすると、トランジションが正しく行われているように見えます(これは、下のhello
がフェードアウトし、上のものがフェードインすることから始まります)。
CSSは対称です。ボタンを押したときだけ状態が変わるので、最初のトランジション後にスイッチがすぐにわからないのですか? the documentationて説明したよう
:あなたは何ができるか
は、単にCSSの遷移と異なる
opacity
状態間の遷移を使用しています不透明度= 0(最初の要素は完全に消え、空白になります)。 divでさまざまなテキストを確認してください。 – wostex