Angular 2 - 动画显示/隐藏不适用于组件标记

时间:2017-12-28 07:03:36

标签: html css angular angular2-animation

我正在制作用于显示和隐藏组件的动画。

我的Plunker:https://embed.plnkr.co/BxT8SKBq8JwuPP16FDu4/

ERROR

当点击按钮时,我希望“动画”div消失,但事实并非如此。 “动画”组件内的内容仍然显示。

我做错了吗?任何帮助都会很棒。提前谢谢。

1 个答案:

答案 0 :(得分:5)

问题是您正在尝试为自定义元素设置动画。它没有在CSS中定义display模式。如果您将animation { display: block; }添加到CSS中,它将正常工作。您可以在其父组件中执行此操作

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  animations: [
     trigger('toggleHeight', [
            state('hide', style({
                height: '0px',
                opacity: '0',
                overflow: 'hidden',
                // display: 'none'
            })),
            state('show', style({
                height: '*',
                opacity: '1',
                // display: 'block'
            })),
            transition('hide => show', animate('200ms ease-in')),
            transition('show => hide', animate('200ms ease-out'))
        ])
    ],
    styles: [`
        animation { display: block; }
    `]
})

或者您可以将其添加到某个全局CSS文件中。