Vue プロジェクトにおけるトランジション コンポーネントの適用の概要

Vue プロジェクトにおけるトランジション コンポーネントの適用の概要

​Vue のトランジションは、アニメーション トランジションをカプセル化するコンポーネントです。一般的なシナリオでは、トランジション タグでラップされた DOM にアニメーション効果が含まれます。トランジション コンポーネントのアニメーション効果トランジション設定は、CSS の transition プロパティ設定に基づいています。ここでは、プロジェクトにおける Vue のトランジション コンポーネントの適用について紹介します。

単一のポップアップアプリケーション

知らせ:

  • 名前の部分は、次のスタイルクラスの先頭部分と同じです。
  • アニメーション効果の実行に協力するためにv-ifを使用する
<テンプレート>
  <div>
  <button v-on:click="表示 = !表示">
    トグル
  </ボタン>
  <トランジション名="フェード">
    <p v-if="show">こんにちは</p>
  </トランジション>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  データ () {
    戻る {
      表示: 真
    }
  },
}
</スクリプト>

<style スコープ lang="less">
.フェード-エンター-アクティブ、
.フェードアウトアクティブ{
  遷移: すべて .5 秒;
}
 .フェードアウト{
  不透明度: 0;
  変換: translateX(20px);
}
.フェードエンター{
  不透明度: 0;
  変換: translateX(-20px);
}
</スタイル>

コンテンツ切り替え制御効果

知らせ:

  1. key: 任意の値を指定でき、アニメーションの切り替えはキー値の切り替えによって制御されます。 コンポーネントは任意であり、変更せずにそのままにしておくことができます。変更するかどうかはあなた次第です。 is を使用したコンポーネント タグを使用することも、v-if を直接使用することもできます。
  2. キーにバインドされたコンポーネントは絶対位置に設定する必要があります。そうしないと、切り替え時に遅延が発生します。 mode="out-in" または mode="in-out" を順に設定することもできます。 それはあなたの個人的なニーズによって異なります。
<テンプレート>
  <div>
    <トランジション名="フェード">
      <button class="position" @click="change" :key="status">
        コンポーネント</button>
    </トランジション>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  データ () {
    戻る {
      ステータス: '1'、
    }
  },
  メソッド: {
    変化 () {
      if(this.docState === '1'){
        this.docState = '2'
      }それ以外{
        this.docState = '1'
      }
    }
  }
}
</スクリプト>

<style スコープ lang="less">
.フェード-エンター-アクティブ、
.フェードアウトアクティブ{
  遷移: すべて .5 秒;
}
 .フェードアウト{
  不透明度: 0;
  変換: translateX(20px);
}
.フェードエンター{
  不透明度: 0;
  変換: translateX(-20px);
}
。位置{
  位置: 絶対;
}
</スタイル>

アニメーションフレームワークでの使用

知らせ

  • 名前の値は次のように設定する必要があります: custom-classes-transition
  • 表示と非表示のスタイルを制御するための enter-active-class、leave-active-class
<link href="https://cdn.jsdelivr.net/npm/[email protected]" rel="外部nofollow" rel="スタイルシート" type="text/css">

<div id="example-3">
  <ボタン @click="表示 = !表示">
    レンダリングを切り替える
  </ボタン>
  <遷移
    name="カスタムクラス遷移"
    enter-active-class="animated じゃんけん"
    leave-active-class="アニメーション bounceOutRight"
  >
    <p v-if="show">こんにちは</p>
  </トランジション>
</div>

ページが初めて読み込まれ、アニメーションが実行される

トランジションに表示を追加する

これで、Vue プロジェクトでのトランジション コンポーネントの適用に関するこの記事は終了です。Vue のトランジション コンポーネントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • トランジションコンポーネントのアニメーション効果を使用した Vue サンプルコード
  • 子コンポーネントでの Vue 遷移の失敗の解決策
  • Vueコンポーネントのキープアライブとトランジションの使用に関する詳細な説明
  • Vue でトランジション カプセル化コンポーネントを実装する方法
  • Vue コンポーネントの transition と transition-group を使用してトランジションアニメーションを実装します。

<<:  MySQLでNULL値を判定する際の落とし穴事例

>>:  HTMLはフォームタグを使用して登録ページのサンプルコードを実装します。

推薦する

mysqlはタイムゾーン関連の問題を解決します

序文: MySQL を使用すると、時間の表示が正しくない、タイムゾーンが GMT+8 ゾーンにない、...

ディスクを破壊せずに Linux で dd コマンドを使用する方法

故障したストレージ ドライブからデータを救出する場合でも、アーカイブをリモート ストレージにバックア...

JavaScript CollectGarbage 関数の例

まず、メモリ解放の例を見てみましょう。 <スクリプト言語="JavaScript&q...

Dockerでデータディレクトリを移行する方法

目次ディスク使用量の表示ディスク クリーンアップ (軽々しく使用しないでください)データの移行ディス...

Linux TTY/PTS の違いの概要

キーボードで文字を入力すると、対応するプロセスにどのように送信されるのでしょうか? ps や who...

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法ウェブサイト開発...

Hadoop 2.x と 3.x の 22 ポイントの比較、Hadoop 3.x の 2.x に対する改善点

質問ガイド1. Hadoop 3.x はどのようにして障害を許容するのでしょうか? 2. Hadoo...

Dockerでrabbitmqをデプロイする際に発生した2つの問題

1. 背景DockerでRabbitMQをデプロイする際に、次の2つの問題が発生します。問題1: ス...

CSS3 メディアクエリにおけるデバイス幅と幅の違いの詳細な説明

1.デバイス幅定義: 出力デバイスの画面表示幅を定義します。 Web ページが Safari で開か...

プロファイルを使用して遅い SQL を分析する MySQL の詳細な説明 (グループ左結合はサブクエリよりも効率的です)

プロファイルを使用して遅いSQLを分析するMySQL の SQL パフォーマンス アナライザーの主な...

JS の new 関数の詳細な説明

目次1. 例2. 兵士100人を作成する3. 質問4. 改善点5. エレガント? 6. JSの父から...

Centos8 システムの VMware インストール チュートリアル図 (コマンド ライン モード)

目次1. ソフトウェアとシステムイメージ2. 仮想マシンを作成する3. CentOS8をインストール...

Docker での MySQL 8.0.20 のインストールと設定のチュートリアル

Dockerは参考までにMySQLバージョン8.0.20をインストールします。具体的な内容は以下のと...

MySQL の DOS ウィンドウの文字化け問題を解決する方法

文字化けしたコードの問題は次のとおりです。 この問題の原因は非常に単純です。コマンドラインのエンコー...

CSS3アニメーションを使用した簡単な指クリックアニメーションの実装例

この記事では主に、CSS3 アニメーションで簡単な指クリックアニメーションを実装する例を紹介し、皆さ...