Vueのまとめ2

こんにちは!Yoshiです!

この記事は、前回のVueの私が学んだごく一部の内容の記事の続きとなります。
HTML, CSS, JavaScript, Vueの基本的なことが分かっている前提で書かれているため、予めご了承ください。

Udemyの「超Vue.js 完全ガイド2026 (Vue Router, Pinia含む)」という講座やVueの公式サイトを主に参考にして作りました。
分かりやすい内容になるように努めましたので、最後まで読んでいただけると幸いです!

§5:Vueでアニメーションを作る

・transition:要素の2つの状態間の変化の仕方を定義するCSSプロパティ
・例えば、[12.1.0]を作る等して、ブラウザの画面でボタン押すと
[12.1.1]のように、要素の透明度が変わる。

[12.1.0] src\App.vue

[12.1.1] ブラウザの画面

・また[12.1.0]のdiv要素にv-if=”changeOpacity”をつけてボタンを押すとトランジションは起きずにdiv要素が消える。トランジションを起こしてからdiv要素を消したいなどの場合
トランジションコンポーネントを使えば良い。
トランジションコンポーネント:要素などがDOMに挿入、削除される時にアニメーションを適用するコンポーネント
トランジションクラス:要素をDOMに挿入(enter)、DOMから削除(leave)するために使う、v-enter-fromからv-leave-toまでの6このクラス。(cf. [12.2.0])

・例えば、[12.2.0]を作るなどして、ブラウザの画面でボタンを2回押すと、[12.2.1]のように動く。
ちなみにopacityの既定値は1なので、.v-enter-to{}等を書く必要はないが、トランジションの流れを分かりやすくするために書いた。

[12.2.0] src\App.vue

[12.2.1] ブラウザの画面

カスタムトランジションクラス:enter-from-classからleave-from-classまでの6この属性。従来のクラス名を変えることができ、Animate.css などの既存の CSS アニメーションライブラリと組み合わせることができる。

・例えば、VSCodeのターミナルなどで「npm install animate.css –save」を実行し
main.tsに「import ‘animate.css’;」を書き
[12.3.0]を作るなどして、ブラウザの画面でボタンを押すと
[12.3.1]のように、要素が左右に動いてから要素が消える。

[12.3.0] src\App.vue

[12.3.1] ブラウザの画面

・トランジションタグ内に「name=”付けたい名前”」を書くことで、スタイル要素内のvの代わりに付けた名前を使うことができる。
・また、[12.4.0]の場合、ブラウザの画面でボタンを1回押すと[12.4.1]のようにDOMへの挿入とDOMからの削除が同時に始まってしまう。

[12.4.0] src\App.vueの一部

[12.4.1] ブラウザの画面

DOMからの削除を終えてからDOMへの挿入を始めたい場合、トランジションタグ内に「mode=”out-in”」を書き、ボタンを押すと、[12.5.1]のように動く。

[12.5.1] ブラウザの画面

・トランジションコンポーネントに、@before-enter=””や@after-leave=””などのイベントハンドラを持たせることができる。
今回の場合、イベントはトランジション。

・例えば[12.6.0]を作る等すると
[12.6.1]のようにトランジションと要素の左右への移動が同時に起こる。

[12.6.0] src\App.vueの一部

[12.6.1] ブラウザの画面(右は開発ツール)

ここで私の記事は、そしてVueのまとめはひとまず終了となります。
読んでいただきありがとうございました!

About the author

Add Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

By Yoshi

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト