example change animations angular angular-material angular-animations

change - router animation angular 6



¿Cuál es la diferencia entre BrowserAnimationsModule y NoopAnimationsModule? (2)

Con la nueva versión de Material angular, necesita agregar un módulo para Animaciones angulares. Puede elegir entre dos BrowserAnimationsModule y NoopAnimationsModule. La guía oficial dice:

Algunos componentes de Material dependen del módulo de animaciones angulares para poder realizar transiciones más avanzadas. Si desea que estas animaciones funcionen en su aplicación, debe instalar el módulo @ angular / animations e incluir el BrowserAnimationsModule en su aplicación.

npm install --save @angular/animations import {BrowserAnimationsModule} from ''@angular/platform-browser/animations''; @NgModule({ ... imports: [BrowserAnimationsModule], ... }) export class PizzaPartyAppModule { }

Si no desea agregar otra dependencia a su proyecto, puede usar el NoopAnimationsModule.

import {NoopAnimationsModule} from ''@angular/platform-browser/animations''; @NgModule({ ... imports: [NoopAnimationsModule], ... }) export class PizzaPartyAppModule { }

No entiendo muy bien cuál es la diferencia aquí. Parece ser exactamente el mismo :) ¿Cuál es la diferencia entre los dos módulos?


Como dice el nombre noop ("no operation"), ese módulo no hace nada. Es un módulo de utilidad que se burla del módulo de animación real pero en realidad no anima.

Esto puede ser útil en plataformas donde la animación sería demasiado lenta, o para pruebas unitarias, si la animación no está involucrada en lo que realmente desea probar.


BROWSER_ANIMATIONS_PROVIDERS se usa para aplicaciones reales

Separe los proveedores del módulo real para que podamos hacer una modificación local en Google3 para incluirlos en el BrowserModule.

BROWSER_NOOP_ANIMATIONS_PROVIDERS se usa para probar

Separe los proveedores del módulo real para que podamos hacer una modificación local en Google3 para incluirlos en el BrowserTestingModule.