使用新的Angular-Material版本,您需要为Angular-Animations添加模块。您可以在两个BrowserAnimationsModule和NoopAnimationsModule之间进行选择。 official guide州:
某些Material组件依赖于Angular动画模块 为了能够进行更高级的过渡。如果你想要这些 要在您的应用中运行的动画,您必须安装 @ angular / animations模块并包含BrowserAnimationsModule 你的应用。
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 { }
我不太明白这里的区别。似乎完全一样:)两个模块之间的区别是什么?
答案 0 :(得分:90)
正如名称noop
(“无操作”)所说,该模块没有做任何事情。它是一个实用程序模块,可以模拟真实的动画模块,但实际上并没有动画。
这对于动画速度太慢的平台或单元测试非常方便,如果动画不涉及您实际想要测试的内容。
答案 1 :(得分:12)
BROWSER_ANIMATIONS_PROVIDERS
用于实际应用
将提供者与实际模块分开,以便我们可以进行本地化 在Google3中进行修改,将其包含在BrowserModule中。
BROWSER_NOOP_ANIMATIONS_PROVIDERS
用于测试
将提供者与实际模块分开,以便我们可以进行本地化 在Google3中进行修改,将其包含在BrowserTestingModule中。