BrowserAnimationsModule和NoopAnimationsModule有什么区别?

Odd*_*Dev 50 angular-material angular angular-animations

使用新的Angular-Material版本,您需要为Angular-Animations添加模块.您可以在两个BrowserAnimationsModule和NoopAnimationsModule之间进行选择.在官方指南中指出:

某些Material组件依赖于Angular动画模块,以便能够执行更高级的过渡.如果您希望这些动画在您的应用中运行,则必须安装@ angular/animations模块并在应用中包含BrowserAnimationsModule.

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

@NgModule({
  ...
  imports: [BrowserAnimationsModule],
  ...
})
export class PizzaPartyAppModule { }
Run Code Online (Sandbox Code Playgroud)

如果您不想为项目添加其他依赖项,则可以使用NoopAnimationsModule.

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

@NgModule({
  ...
  imports: [NoopAnimationsModule],
  ...
})
export class PizzaPartyAppModule { }
Run Code Online (Sandbox Code Playgroud)

我不太明白这里有什么区别.似乎完全一样:)两个模块之间有什么区别?

Gün*_*uer 99

正如名称noop("无操作")所说,该模块没有做任何事情.它是一个实用程序模块,可以模拟真实的动画模块,但实际上并不具有动画效果.

这可以在动画速度太慢的平台上进行,或者对于单元测试,如果动画不涉及您实际想要测试的内容.


yur*_*zui 13

BROWSER_ANIMATIONS_PROVIDERS 用于实际应用

将提供者与实际模块分开,以便我们可以在Google3中进行本地修改,以将它们包含在BrowserModule中.

BROWSER_NOOP_ANIMATIONS_PROVIDERS 用于测试

将提供者与实际模块分开,以便我们可以在Google3中进行本地修改,以将它们包含在BrowserTestingModule中.