ホームページ  >  記事  >  ウェブフロントエンド  >  考えられるタイトルをいくつか挙げます。 1. Angular 2 の `ngIf` で CSS トランジションを機能させるにはどうすればよいですか? 2. Angular 2 で「ngIf」が CSS トランジションを中断するのはなぜですか? 3. Angular 2: `ngIf` と CSS アニメーションを組み合わせてスムーズな転送を実現する

考えられるタイトルをいくつか挙げます。 1. Angular 2 の `ngIf` で CSS トランジションを機能させるにはどうすればよいですか? 2. Angular 2 で「ngIf」が CSS トランジションを中断するのはなぜですか? 3. Angular 2: `ngIf` と CSS アニメーションを組み合わせてスムーズな転送を実現する

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 22:14:29766ブラウズ

以下是几种可能的标题:

1. How to Make CSS Transitions Work with `ngIf` in Angular 2? 
2. Why Does `ngIf` Break My CSS Transitions in Angular 2?
3. Angular 2: Combining `ngIf` and CSS Animations for Smooth Transitions
4. Troubleshooting CSS Transitions and `ngIf` in

Angular 2 の ngIf と CSS トランジション/アニメーション

Angular 2 で CSS を使用して右から div をスライドインするにはどうすればよいですか?

<code class="html"><div class="note" [ngClass]="{'transition':show}" *ngIf="show">
  <p> Notes</p>
</div>
<button class="btn btn-default" (click)="toggle(show)">Toggle</button></code>
.transition{
  -webkit-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  -moz-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  -ms-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out ;
  -o-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
  margin-left: 1500px;
  width: 200px;
  opacity: 0;
}

.transition{
  opacity: 100;
  margin-left: 0;
}

[ngClass] を使用してクラスを切り替え、不透明度を利用するだけであれば、このコードは正常に機能します。ただし、その要素を最初からレンダリングしたくないので、最初に ngIf で要素を「非表示」にしますが、その後トランジションが機能しなくなります。

アップデート 4.1.0

トランジション アニメーション API を使用するため、[hidden] または [*ngIf hidden] を使用する必要がなくなりました。

更新 2.1.0

angular.io でアニメーションを表示

<code class="typescript">import { trigger, style, animate, transition } from '@angular/animations';

@Component({
  selector: 'my-app',
  animations: [
    trigger(
      'enterAnimation', [
        transition(':enter', [
          style({transform: 'translateX(100%)', opacity: 0}),
          animate('500ms', style({transform: 'translateX(0)', opacity: 1}))
        ]),
        transition(':leave', [
          style({transform: 'translateX(0)', opacity: 1}),
          animate('500ms', style({transform: 'translateX(100%)', opacity: 0}))
        ])
      ]
    )
  ],
  template: `
    <button (click)="show = !show">toggle show ({{show}})</button>

    <div *ngIf="show" [@enterAnimation]>xxx</div>
  `
})
export class App {
  show:boolean = false;
}</code>

元の回答

式が false になると、*ngIf は DOM から要素を削除します。存在しない要素は遷移できません。

は、隠し属性

<code class="html"><div class="note" [ngClass]="{'transition':show}" [hidden]="!show"></code>
に置き換えることができます。

以上が考えられるタイトルをいくつか挙げます。 1. Angular 2 の `ngIf` で CSS トランジションを機能させるにはどうすればよいですか? 2. Angular 2 で「ngIf」が CSS トランジションを中断するのはなぜですか? 3. Angular 2: `ngIf` と CSS アニメーションを組み合わせてスムーズな転送を実現するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。