如何在 Angular 中提供动画

How do I give animation in Angular

我正在尝试创建一个应用程序,我想在其中为 span 提供 Angular 动画。 我参考了这个例子 StackBlitz Example I tried to create my own span after that. I have created a MyStackBlitz 来提供一个我正在做的例子。

如示例所示,我想向 span 添加 折叠动画

我已经尝试从我提供的参考示例中做到这一点,但我被困在一个我不知道自己做错了什么的地方。

要使其更接近您尝试复制的示例,您需要执行以下操作。

首先,您需要将 BrowserAnimationsModule 导入您的模块:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';

import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';

@NgModule({
  imports: [BrowserModule, FormsModule],
  declarations: [AppComponent, HelloComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

接下来,您需要将 [@collapse]="collapsed" 移动到 div#detailsid,因为您正在尝试为该元素设置动画,而不是 span#user trigger/icon/button。同时删除 [hidden]="isShow",因为 visibility/height 由应用 heightvisibility:

的动画处理
<div id="detailsid" [@collapse]="collapsed">
  <!-- your stuff -->
</div>

最后,您需要更新您的 CSS 以拥有 div#detailsid 以拥有 overflow: hidden;

#detailsid {
  overflow: hidden;
}

这是一个 example 大部分工作。