web-dev-qa-db-fra.com

Quelle est la différence entre BrowserAnimationsModule et NoopAnimationsModule?

Avec la nouvelle version Angular-Material, vous devez ajouter un module pour Angular-Animations. Vous pouvez choisir entre deux BrowserAnimationsModule et NoopAnimationsModule. Le guide officiel indique:

Certains composants Matériau dépendent du module d'animations Angular pour pouvoir effectuer des transitions plus avancées. Si vous souhaitez que ces animations fonctionnent dans votre application, vous devez installer le module @ angular/animations. et incluez le BrowserAnimationsModule dans votre application.

npm install --save @angular/animations
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [BrowserAnimationsModule],
  ...
})
export class PizzaPartyAppModule { }

Si vous ne souhaitez pas ajouter une autre dépendance à votre projet, vous pouvez utiliser le NoopAnimationsModule.

import {NoopAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [NoopAnimationsModule],
  ...
})
export class PizzaPartyAppModule { }

Je ne comprends pas très bien quelle est la différence ici. Semble être exactement le même :) Quelle est la différence entre les deux modules?

49
OddDev

Comme le nom noop ("pas d'opération"), ce module ne fait rien. C'est un module utilitaire qui se moque du vrai module d'animation mais n'anime pas réellement.

Cela peut être pratique sur les plates-formes où l'animation serait trop lente ou pour les tests unitaires, si l'animation n'est pas impliquée dans ce que vous voulez réellement tester.

92
Günter Zöchbauer

BROWSER_ANIMATIONS_PROVIDERS est utilisé pour une application réelle

Séparez les fournisseurs du module actuel afin que nous puissions effectuer une modification locale dans Google3 afin de les inclure dans BrowserModule.

BROWSER_NOOP_ANIMATIONS_PROVIDERS est utilisé pour les tests

Séparez les fournisseurs du module actuel afin que nous puissions effectuer une modification locale dans Google3 pour les inclure dans BrowserTestingModule.

12
yurzui