2017-04-12 31 views
28

Po wydaniu nowego materiału kątowego należy dodać moduł do animacji Angular. Możesz wybrać jeden z dwóch modułów BrowserAnimationsModule i NoopAnimationsModule. W official guide stany:Jaka jest różnica między BrowserAnimationsModule i NoopAnimationsModule?

Niektóre materiały składowe zależą od modułu kątowe animacje w aby móc robić bardziej zaawansowane przejścia. Jeśli chcesz, aby animacje te działały w Twojej aplikacji, musisz zainstalować moduł kątowy/animacji @ i dołączyć moduł BrowserAnimationsModule do swojej aplikacji.

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

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

Jeśli nie chcesz, aby dodać kolejną zależność do projektu, można użyć NoopAnimationsModule.

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

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

Nie dość dostać to, co jest różnica tutaj. Wydaje się być dokładnie taka sama :) Jaka jest różnica między tymi dwoma modułami?

Odpowiedz

49

Jako że nazwa noop ("brak operacji") mówi, ten moduł nic nie robi. Jest to moduł narzędziowy, który kpi z prawdziwego modułu animacji, ale w rzeczywistości nie animuje.

Może to być przydatne na platformach, na których animacja byłaby zbyt wolna lub podczas testowania jednostkowego, jeśli animacja nie jest zaangażowana w to, co faktycznie chce się przetestować.

+3

Krótkie i proste ... –

+0

@ Günter Zöchbauer. Korzystając z NoopAnimationsModule zamiast BrowserAnimationsModule, czy mogę zapisać trochę KB w mojej aplikacji lub zwiększyć wydajność? –

+0

Jeśli twoje komponenty nie używają animacji, to prawdopodobnie nie. –

6

BROWSER_ANIMATIONS_PROVIDERS służy do rzeczywistej aplikacji

Separate dostawcom od rzeczywistego modułu tak, że możemy zrobić lokalną modyfikacji w Google3 aby uwzględnić je w BrowserModule.

BROWSER_NOOP_ANIMATIONS_PROVIDERS służy do testowania

Separate dostawcom od rzeczywistego modułu tak, że możemy zrobić lokalną modyfikacji w Google3 aby uwzględnić je w BrowserTestingModule.