5

我创建了以下 Angular 2 动画:

trigger('detailsContentAnimation',
  [
    state('1', style(
      {
        'height': '*',
        'padding-top': '*',
        'padding-bottom': '*'
      })),
    state('0', style(
      {
        'height': 0,
        'padding-top': 0,
        'padding-bottom': 0
      })),
    transition('* => *', animate('400ms ease-out'))
  ])

此动画应滑入/滑出以下 HTML 内容:

<div>
 <div class="col-card__content-div">
  <div [@detailsContentAnimation]="areDetailsVisible" class="card-block">
    <ng-content select=".col-card__contentselector--body"></ng-content>
  </div>
</div>

动画发生时,我收到以下错误:

无法在“元素”上执行“动画”:不支持部分关键帧。”

为什么会发生这种情况,我该如何解决?

4

1 回答 1

3

根据提供的代码,这似乎对我有用(在 Mac 上的 Chrome 59.0.3、Firefox 54.0.1 和 Safari 9 中测试)。请参阅此处运行的 Github 上的这个最小示例。这是使用您的代码的卡片组件卡片模板的直接链接。我试过但无法重现您的错误。

我的版本:

"@angular/animations": "^4.3.1",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0"

我建议尝试:

  1. 如果需要,更新您的动画库
  2. 将您的代码与我的示例进行比较以发现差异
  3. 发布更多代码、您的项目或最小的、完整的、可验证的示例,以便我可以帮助您进一步调试 :)
于 2017-07-22T03:38:49.703 回答