"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Aqui estão alguns títulos possíveis: 1. Como fazer as transições CSS funcionarem com `ngIf` em Angular 2? 2. Por que `ngIf` interrompe minhas transições CSS em Angular 2? 3. Angular 2: Combinando `ngIf` e animações CSS para Smooth Trans

Aqui estão alguns títulos possíveis: 1. Como fazer as transições CSS funcionarem com `ngIf` em Angular 2? 2. Por que `ngIf` interrompe minhas transições CSS em Angular 2? 3. Angular 2: Combinando `ngIf` e animações CSS para Smooth Trans

Publicado em 2024-11-08
Navegar:158

以下是几种可能的标题:

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

ngIf e transições/animações CSS em Angular 2

Como deslizar uma div da direita usando CSS em Angular 2?

Notes

.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;
}

Este código funciona bem se você apenas usar [ngClass] para alternar classes e aproveitar a opacidade. Mas não quero que esse elemento seja renderizado desde o início, então eu o "escondo" primeiro com ngIf, mas a transição não funcionará.

Atualização 4.1.0

usa a API de animação de transição, não é mais necessário usar [oculto] ou [*ngIf oculto].

Atualização 2.1.0

Ver animação em angular.io

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: `
    

    
xxx
` }) export class App { show:boolean = false; }

Resposta original

Quando a expressão se torna falsa, *ngIf removerá o elemento do DOM. Um elemento que não existe não pode ser transferido.

pode ser substituído pelo atributo oculto:

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3