入場と退場のアニメーション
要素の入場と退場をアニメーションさせます
「入場と退場のアニメーション」はCoddyKit上の無料Angular Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAngular Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Angular Academyコースには全4レッスンが含まれています。
表示・非表示のアニメーション
リストへの項目の追加や削除など、要素の表示時や非表示時にアニメーションさせたいことがよくあります。Angularでは、そのために:enterと:leaveのエイリアスが用意されています。
voidと表示状態
DOMに存在しない要素はvoid状態にあります。表示されるときはvoid => *、非表示になるときは* => voidです。
:enterエイリアス
:enterはvoid => *の省略形です。要素が追加されるときのアニメーションに使用します。
transition(':enter', [
style({ opacity: 0 }),
animate('300ms', style({ opacity: 1 }))
]):leaveエイリアス
:leaveは* => voidの省略形です。Angularはleaveアニメーションが完了するまで要素をDOM内に保持します。
transition(':leave', [
animate('300ms', style({ opacity: 0 }))
])制御フローでトリガーする
@ifや@forで管理される要素にtriggerを適用します。要素の追加や削除によってenter/leaveが発生します。
@if (visible()) {
<div [@fade]>Hello</div>
}フェード用trigger
再利用可能なフェードイン/フェードアウト用triggerを示します。
trigger('fade', [
transition(':enter', [
style({ opacity: 0 }),
animate('200ms', style({ opacity: 1 }))
]),
transition(':leave', [
animate('200ms', style({ opacity: 0 }))
])
])スライドインの例
transformとopacityを組み合わせて、表示時にスライドインする効果を作成します。
transition(':enter', [
style({ transform: 'translateY(-10px)', opacity: 0 }),
animate('250ms ease-out',
style({ transform: 'translateY(0)', opacity: 1 }))
])リスト項目のアニメーション
@for内の各項目にtriggerを配置すると、項目の追加や削除時にそれぞれ独立してアニメーションします。
@for (item of items(); track item.id) {
<li [@fade]>{{ item.name }}</li>
}leaveにエンジンが必要な理由
通常、削除された要素はすぐに消えます。アニメーションエンジンは削除を受け取り、ノードを保持して:leaveアニメーションを実行してから削除します。これらはすべて自動的に行われます。
アニメーションを無効にする
@.disabledをバインドすると、条件に応じてアニメーションをスキップできます。モーション軽減の設定や初回レンダリングに便利です。
<div [@.disabled]="prefersReducedMotion">...</div>ベストプラクティス
enter/leaveは短く控えめにしてください。prefers-reduced-motionを尊重します。滑らかに動かすには、レイアウトプロパティではなく、GPUで処理しやすいtransformとopacityをアニメーションさせてください。
クイックチェック
enterアニメーションとleaveアニメーションについての理解度を確認します。
まとめ
:enter(void => *)と:leave(* => void)は、要素が追加・削除される際にアニメーションし、@if/@forと連携することを学びました。エンジンは、leaveするノードのアニメーションが完了するまで、そのノードを保持します。
よくある質問
「入場と退場のアニメーション」レッスンは無料ですか?
はい。「入場と退場のアニメーション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Angular Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Angular Academyコースには全4レッスンが含まれています。
「入場と退場のアニメーション」で何を学びますか?
要素の入場と退場をアニメーションさせます ブラウザで直接実行するハンズオンコードでAngular Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Angular Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAngular Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「入場と退場のアニメーション」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAngular Academyレッスンでコードを書いて実行できますか?
はい。すべてのAngular Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- アニメーションの基礎:triggerとstate
- トランジションとタイミング
- 入場と退場のアニメーション
- キーフレームとスタガー