Vue3 と Vue2 の違い: より強力なアニメーション効果のサポート
Vue は、ユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。 Vue の最新バージョンは Vue3 で、多くの新機能と拡張機能が追加されています。その 1 つは、より強力なアニメーション効果のサポートです。この記事では、Vue2 と比較した Vue3 のアニメーション効果の改善点を紹介し、コード例を通してそれを示します。
以下は、Vue3 のコンポジション API を使用して実装された単純なアニメーション効果の例です。
import { ref, onMounted } from 'vue'; export default { setup() { const isVisible = ref(false); onMounted(() => { isVisible.value = true; }); return { isVisible } } }
上記のコードでは、ref
式を使用して応答を作成します。 isVisible
変数を使用し、コンポーネントの onMounted
ライフサイクル関数で true
に設定します。 isVisible
の値を変更することで、要素の表示と非表示を動的に制御できます。
<transition>
コンポーネントを使用して、アニメーション化する必要がある要素をラップし、クラス名を追加することでさまざまなステージを指定できます。アニメーション効果。 Vue3 では、引き続き <transition>
コンポーネントを使用することに加えて、 <transition-group>
および <teleport>
コンポーネントも導入されています。により、アニメーション効果の実装がより柔軟かつ効率的になります。 次は、Vue3 の <transition>
コンポーネントを使用して実装された単純なフェード効果の例です:
<template> <transition name="fade"> <p v-if="isVisible">Hello, Vue3!</p> </transition> </template> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style>
上記のコードでは、 # # を使用します。 #<transition>コンポーネントは
要素をラップし、アニメーション効果の名前を「fade」として指定します。 CSS スタイルでは、アニメーションの開始段階と終了段階のスタイルを定義し、クラス名を追加することでアニメーション効果をトリガーします。
コンポーネントを通じて、GSAP を簡単に統合し、そのアニメーション効果機能を使用できます。
<template> <transition name="rotate" enter-active-class="rotate-enter-active" enter-from-class="rotate-enter-from" > <div v-if="isVisible" class="box"></div> </transition> </template> <style> .box { width: 100px; height: 100px; background-color: red; } .rotate-enter-active { animation: rotateEnter 1s; } @keyframes rotateEnter { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style>
@keyframes を使用して回転効果を実現します。
enter-active-class 属性と
enter-from-class 属性を
<transition> コンポーネントに追加して、CSS アニメーションをアニメーション効果に適用します。
Vue2 と比較して、Vue3 のアニメーション効果の向上は主に次の側面に反映されています: アニメーションを実装するためのより柔軟なプログラミング方法の提供、 コンポーネントは、アニメーション効果のアプリケーション シナリオを拡張します。GSAP の組み込みサポートにより、より強力なアニメーション ライブラリの統合が提供されます。
以上がVue3 と Vue2 の違い: より強力なアニメーション効果のサポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。