63

新しい Angular-Material リリースでは、Angular-Animations 用のモジュールを追加する必要があります。2 つの BrowserAnimationsModule と NoopAnimationsModule から選択できます。公式ガイドには次のように記載されています。

一部のマテリアル コンポーネントは、より高度なトランジションを実行できるようにするために、Angular アニメーション モジュールに依存しています。これらのアニメーションをアプリで動作させたい場合は、@angular/animations モジュールをインストールし、Br​​owserAnimationsModule をアプリに含める必要があります。

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

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

プロジェクトに別の依存関係を追加したくない場合は、NoopAnimationsModule を使用できます。

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

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

ここで何が違うのかよくわかりません。まったく同じようです:) 2つのモジュールの違いは何ですか?

4

2 に答える 2

122

名前noop(「操作なし」) が示すように、そのモジュールは何もしません。これは、実際のアニメーション モジュールを模倣したユーティリティ モジュールですが、実際にはアニメーションしません。

これは、アニメーションが遅すぎるプラットフォームや、テスト (ユニット、統合、Cypress との e2e、分度器など) で、アニメーションが実際にテストしたいものに関係していない場合に便利です。

@NgModule({
  imports: [
    BrowserModule,
    environment.production ? BrowserAnimationsModule : NoopAnimationsModule,
    ...
   ]
   ...
}
export class AppModule {}
于 2017-04-12T07:23:20.687 に答える