Vue のトランジション効果とアニメーショントランジションの使用例の詳細な説明

Vue のトランジション効果とアニメーショントランジションの使用例の詳細な説明

まずは例を見てみましょう

ここに画像の説明を挿入

コードは次のとおりです

<テンプレート>
  <div align="center" style="margin-top: 100px;">
    <button @click="show= !show" >テスト</button>
    <遷移>
      <div v-if="表示">
        <p>これはテキストです</p>
      </div>
    </トランジション>
  </div>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
  名前: 'transitionTest',
  データ () {
    戻る {
      表示: 真
    }
  }
}
</スクリプト>
<スタイルスコープ>
    .v-enter-active、.v-leave-active {
    遷移: すべて .5 秒;
    }
    .v-enter {
    変換: translateY(50px);
    不透明度: 0;
    }
    .v-アクティブ状態を解除{
    変換: translateY(50px);
    不透明度: .5;
    }
</スタイル>

div コンポーネントをラップし、ボタンをクリックしてアニメーション効果を実現します。これは通常、v-if、v-show、動的コンポーネント、およびコンポーネント ルート ノードで使用されます。

遷移フック関数

Transition には 6 つのフック関数が用意されており、異なる時間に対応するアニメーション効果を記述できます。以下は、これら6つのフック関数の実行時間です。

1.v-enter: 遷移開始状態に入ります。要素が挿入される前に有効になり、要素が挿入された後の次のフレームで削除されます。

2.v-enter-active: 遷移が有効になるときの状態。このクラスは、エントリ遷移のタイミング、遅延、および曲線関数を定義するために使用できます。

3.v-enter-to: 遷移の終了状態に入ります。要素が挿入されてから 1 フレーム後に有効になり (同時に v-enter が削除され)、トランジション/アニメーションが完了すると削除されます。

4.v-leave: 遷移の開始状態を終了します。終了遷移がトリガーされるとすぐに有効になり、次のフレームで削除されます。

5.v-leave-active: 退出遷移が有効になるときの状態。このクラスは、退出遷移の期間、遅延、曲線関数を定義するために使用できます。

6.v-leave-to: 遷移の終了状態を終了します。離脱トランジションがトリガーされた後の次のフレーム(v-leave が削除されるのと同時に)で有効になり、トランジション/アニメーションが完了すると削除されます。

カスタム遷移クラス名

ページにはトランジション効果が必要な箇所が複数あります。Vue が提供するデフォルトの 6 つのフック関数を使用すると、遷移する箇所すべてでトランジション効果が同じになります。さまざまな状況でさまざまなアニメーション効果を定義する必要がある場合は、各トランジション効果に固有のクラス名を定義する必要があります。解決策は、トランジション タグに name 属性を追加し、name 属性に独自のクラス名プレフィックスを記述することです。たとえば、クラス名を使用する場合は、.my-trans-leave、.my-trans-enter-to のようになります。のように:

    <トランジション名="my-trans" モード="out-in">
       <ルータービュー v-if="!$route.meta.keepAlive"></ルータービュー>
    </トランジション>

スタイル、my-trans は「.my-trans-enter-active」のプレフィックスです

<スタイル>
  .my-trans-enter-active、
  .my-trans-leave-active {
    遷移: すべて .2;
    不透明度: 1;
  }
  .my-trans-enter {
    遷移: すべて .2;
    不透明度: 0;
  }
  .my-trans-leave-to {
    遷移: すべて .2;
    不透明度: 0;
  }  
</スタイル>

遷移グループの使用

リストに対してトランジション レンダリングを実行する場合は、リストを transition-group 要素でラップする必要があります。リスト内のコンテンツをクリックすると、次のアニメーションに従って削除されます。例は次のとおりです。

ここに画像の説明を挿入

<テンプレート>
  <div class="main_css">
    <トランジショングループ名="スライド">
      <li v-for="(item,i) リスト内" :key="item.id" @click="del(i)">
        {{ item.id }} --- {{ item.name }}
      </li>
    </トランジショングループ>
  </div>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
  名前: 'transitionGroupTest',
  データ () {
    戻る {
      リスト: [{
        id: 1,
        名前: 「煮魚」
      },
      {
        id: 2,
        名前: 「フライドポテト」
      },
      {
        id: 3,
        名前: 「焼きナス」
      }
      ]
    }
  },
  メソッド: {
    デリ) {
      this.list.splice(i, 1)
    }
  }
}
</スクリプト>
<スタイルスコープ>
  .main_css {
    左マージン: 50px;
    上マージン: 50px;
  }
  .slide-enter-active {
    遷移: すべて 0.5 秒線形。
  }
  .slide-leave-active {
    遷移: すべて .1 秒線形。
  }
  .スライド-エンター{
    変換: translateX(-100%);
    不透明度: 0;
  }
  .slide-leave-to {
    変換: translateX(110%);
    不透明度: 0;
  }
</スタイル>

まとめ

トランジションやアニメーションはトランジションタグを使用して完成し、6つのフック関数が用意されています。グローバル アニメーションは app.vue にあり、トランジションは router-view コンポーネントにラップされています。例: ; ローカル変更を実現するには、トランジション タグに name 属性を追加して、トランジション クラス名を定義します。

以上がVueトランジションとアニメーショントランジションの使用例の詳しい説明です。Vueトランジションとアニメーショントランジションについてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご注目ください!

以下もご興味があるかもしれません:
  • Vue コンポーネントの transition と transition-group を使用してトランジションアニメーションを実装します。
  • Vue の複数の要素、コンポーネント、リストの遷移方法の例
  • Vue での単一ノード遷移と遷移グループリスト遷移の全体的なプロセス

<<:  MySQL ロックブロッキングの詳細な分析

>>:  WeChatアプレットのスクロールビューの改行問題を解決する

推薦する

フォーム要素とプロンプトテキストが揃っていない問題

最近のプロジェクトでは、多くのフォーム、特にチェックボックスとラジオボタンの作成が含まれます。しかし...

Docker 実行時にユーザーとグループを管理する方法

Docker はプロセスを中核としてシステムリソースを分離する管理ツールです。分離は、オペレーティン...

vue3 カスタムディレクティブの詳細

目次1. カスタム指示の登録1.1. グローバルカスタム指示1.2. ローカルカスタム指示2. カス...

Node+Express テストサーバーのパフォーマンス

目次1 テスト環境1.1 サーバーハードウェア1.1.1 t2.マイクロ1.1.2 c5.large...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

Web 開発チュートリアル クロスドメイン ソリューションの詳細な説明

序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...

花火効果を実現するJavaScript(オブジェクト指向)

この記事では、花火効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具...

jQuery Ajax チャットボットの実装事例

チャットボットは多くの手作業を省くことができ、顧客サービス、天気予報対応など、さまざまな状況で使用で...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

ウェブデザインの経験とスキルの概要

■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...

Vue3におけるキーの役割と動作原理についての簡単な説明

このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...

浮遊する雲のアニメーションを実現するCSS3

操作効果 html <ヘッド> <メタ文字セット='UTF-8'&...

VUE でタブページを切り替える 4 つの方法

目次1. 静的実装方法: 2. 第2のシミュレーション動的方法3. 3番目の動的データ方式4. 動的...

Bash で山括弧を使用するその他の方法

序文この記事では、山括弧のその他の用途をさらに詳しく見ていきます。前回の記事では、山括弧 (<...

Vue.jsはカレンダー機能を実装します

この記事では、カレンダー機能を実装するためのVue.jsの具体的なコードを例として紹介します。具体的...