Angular动画:未知高度变化
创始人
2024-10-24 14:00:52
0

对于这个问题,我们需要使用Angular提供的动画状态和触发器,以便在状态发生变化时执行动画。这个解决方案涉及到以下步骤:

  1. 定义变化状态(从未变化到变化后的状态)

在组件的简单模板中,添加一个类来表示变化后的状态。在下面的示例中,我们为高度变化定义了两个状态:“expanded”和“collapsed”。要在模板中使用这些状态,我们需要使用动画元数据枚举animate,设置“从原始状态到目标状态的样式”和“过渡时间”。

animations: [ trigger('expandAnimation', [ state('collapsed', style({ height: '0px', opacity: 0 })), state('expanded', style({ height: '*', opacity: 1 })), transition('collapsed <=> expanded', animate('500ms ease-in-out')) ]) ]
  1. 监测高度的变化

为了在高度发生变化时触发动画,我们需要监测容器元素高度的变化。为此,我们需要使用Angular的Renderer2服务,对DOM进行相应的操作。在组件的构造函数中,将Renderer2服务注入到组件中,在ngAfterViewInit钩子中,使用它来监测容器元素高度的变化。

constructor(private renderer: Renderer2, private elementRef: ElementRef) {}

ngAfterViewInit() {
  this.renderer.setStyle(this.elementRef.nativeElement, 'height', this.expanded ? 'auto' : '0');
  this.height = this.elementRef.nativeElement.scrollHeight + 'px';
  this.renderer.setStyle(this.element

相关内容

热门资讯

玩家必看科普!微乐小程序辅助收... 玩家必看科普!微乐小程序辅助收费,pokemmo脚本辅助器,透视教程(存在有挂);1、超多福利:超高...
盘点十款!朋朋政和软件辅助器,... 盘点十款!朋朋政和软件辅助器,wepoker透视脚本苹果版,安装教程(竟然有挂);1.朋朋政和软件辅...
分享认知!微信小程序辅助器破解... 分享认知!微信小程序辅助器破解版,德普之星私人局辅助免费,扑克教程(真的有挂);微信小程序辅助器破解...
一分钟秒懂!老友麻将辅助器,h... 您好:老友麻将辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
热点推荐!琼戏互娱破解版,aa... 热点推荐!琼戏互娱破解版,aapoker怎么设置提高好牌几率,德州论坛(真的有挂);1、很好的琼戏互...
让我来分享经验!打哈儿辅助软件... 让我来分享经验!打哈儿辅助软件,wepoker手机版透视脚本,软件教程(真的有挂),wepoker手...
实测交流!手机透视辅助器app... 您好,手机透视辅助器app这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
研究成果!小程序牵手跑得快辅助... 研究成果!小程序牵手跑得快辅助器,wpk是真的还是假的,2025新版教程(有挂教学);超受欢迎的小程...
终于知道!皇豪辅助,wepok... 终于知道!皇豪辅助,wepoker底牌透视,科技教程(有挂教程);一、皇豪辅助有挂的是的,亲,有的,...
教学盘点!边锋老友杰克辅助,w... 教学盘点!边锋老友杰克辅助,wepoker私人局俱乐部怎么进,普及教程(有挂辅助);小薇(透视辅助)...