Vueの2.1.10難しさは、レンダリングされた要素に移行
私は電子メールの招待を送信するための責任があるコンポーネントを持っています。ユーザは電子メールアドレスを入力ボックスに入力し、ボタンをクリックすると、サーバに要求が送信されます。サーバーの応答は、コンポーネントのinviteResponse
プロパティに割り当てられます。次に、div要素が表示されます。
<div v-if="inviteResponse != ''">{{ inviteResponse }}</div>
表示されてから3秒後に、このメッセージはゆっくりと消えてしまいます。私はVue Transition Effectsを使ってこれを動作させようとしてきましたが、今まで運がなかったのです。
<transition name="element-fade" appear>
<div v-if="inviteResponse != ''">{{ inviteResponse }}</div>
</transition>
CSSルールをコンポーネント上:
<style scoped>
.element-fade-leave {
opacity: 1;
}
.element-fade-leave-active {
transition: opacity 3s ease;
transition-delay: 3s;
}
.element-fade-leave-to {
opacity: 0;
}
</style>
がofficial guideによると、Vueのは自動的に、これらを検出する必要があり、不透明度1で残し要素を開始し、その後、3の後にここで私が試したものです第2の遅延は、それがなくなるまで3秒間にわたってそれを遷移させる。
私の場合でも、絶対に何も起こりません。
'inviteResponse'は、'「」 '、テキスト自体は、コンテナのdivの前に消えますすることができます。私は 'displayInviteResponse'のような新しいブール値のプロパティを作成し、それを使って作成する必要があります。しかし、私は 'setTimeout'を完全に避けることを望んでいました。これを使用すると、CSSの遷移の目的が無効になります。 –