首页 > 解决方案 > 为 MatProgressSpinner 覆盖 NoopAnimationsModule

问题描述

在过去的几天里,我一直在尝试使用 mat-spinner,但它从来没有动画。通过阅读它指出的文档

_forceAnimations: boolean 是否应该强制启用动画,忽略当前环境是否正在使用 NoopAnimationsModule。

谷歌我在另一个网站上发现了一个帖子,有人问了同样的问题,但这是回复 https://github.com/angular/components/issues/12581

关闭,因为这不是 MatProgressSpinner 上的 @Input()。此外,Angular Material 中的所有带下划线前缀的属性和属性都是供内部使用的,不被视为公共 API 的一部分。

我正在进行的项目确实导入了 NoopAnimationsModule。那么如果一个项目导入了这个库,你如何覆盖它以允许某些动画发生?或者如何将 _forceAnimations: boolean 设置为 true?

标签: angularangular-material

解决方案


问题评论所说的 - 提供MatProgressSpinnerDefaultOptions所需的值。在使用微调器(或父级)的模块中:

providers: [
  {
    provide: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,
    useValue: {
      _forceAnimations: true,
      diameter: 100, // that's default
      strokeWidth: 10, // that's default
    }
]

推荐阅读