Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

191
Vistas
Elemento animado [oculto] de Angular2

Tengo una barra lateral que estoy mostrando/ocultando usando un booleano como este:

[hidden]='toggleSidebar'

He estado tratando de encontrar la forma correcta de agregar una transición a este elemento, pero hasta ahora solo he tenido un éxito parcial con este método: [class.show]='!toggleSidebar' . Sin embargo, la aplicación de estilos css a esta clase solo funciona parcialmente.

¿Cómo agrego una animación deslizante o gradual a un elemento que contiene una salida de enrutador como esta?

 <aside [hidden]="toggleSidebar"> <router-outlet name="aside"></router-outlet> </aside>
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Usando el atributo [hidden] simplemente no puede lograr un efecto de transición/animación ya que no hay cambios de pasos posteriores sino solo cambios de estado que reflejan que el elemento está visible u oculto.

Lo que puedes hacer es usar la opacity y visibility .

 <aside class="sidebar" [style.opacity]="toggleSidebar ? '0' : '1'" [style.visibility]="toggleSidebar ? 'hidden' : 'visible'"> <router-outlet name="aside"></router-outlet> </aside>

Proporcione un tiempo de transición para la barra lateral para cambios de estado.

 .sidebar { transition: all .3s; }

NOTA : es mejor evitar el atributo [hidden] si desea admitir Internet Explorer 9 y 10. :)

about 4 years ago · Santiago Trujillo Denunciar

0

El comportamiento deseado se puede lograr con ngIf . De la guía oficial :

El estado de vacío

El estado especial llamado void puede aplicarse a cualquier animación. Se aplica cuando el elemento no está adjunto a una vista, quizás porque aún no se ha agregado o porque se ha eliminado. El estado de vacío es útil para definir animaciones de entrada y salida.

En el siguiente ejemplo, div aparece desde la parte superior de la pantalla cuando la condición se evalúa como verdadera.

HTML:

<div *ngIf="panelVisible" [@panelInOut]>....</div>

TS:

 @Component({ .... animations: [ trigger('panelInOut', [ transition('void => *', [ style({transform: 'translateY(-100%)'}), animate(800) ]), transition('* => void', [ animate(800, style({transform: 'translateY(-100%)'})) ]) ]) ] })
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda