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

相关内容

热门资讯

推荐一款!掌中乐游戏通用辅助器... 推荐一款!掌中乐游戏通用辅助器,中至余干小程序辅助安装,力荐教程(真的有挂)-哔哩哔哩;致您一封信;...
五分钟开挂!悠悠互娱辅助(辅助... 五分钟开挂!悠悠互娱辅助(辅助挂)果然确实有挂(2026新版教程开挂辅助脚本);无需打开直接搜索薇:...
揭秘几款!情怀破解,小南娱乐科... 揭秘几款!情怀破解,小南娱乐科技,透视教程(竟然有挂)-哔哩哔哩;相信小伙伴都知道这个小南娱乐科技上...
一分钟讲解!上饶打炸辅助(辅助... 一分钟讲解!上饶打炸辅助(辅助挂)一直是有挂(第三方教程开挂辅助安装)1、下载安装好上饶打炸辅助,进...
透视辅助!四川换三张辅助器,赣... 透视辅助!四川换三张辅助器,赣牌圈控制牌型,普及教程(有挂方式)-哔哩哔哩;1.四川换三张辅助器 a...
3分钟了解!九游破解辅助插件(... 3分钟了解!九游破解辅助插件(辅助挂)一直有挂(教你攻略开挂辅助工具);无需打开直接搜索打开薇:13...
科普!越乡游辅助脚本,开心庄园... 科普!越乡游辅助脚本,开心庄园辅助,2026新版总结(有挂技巧)-哔哩哔哩;1、很好的越乡游辅助脚本...
一分钟了解!新樱花互娱源码(辅... 新樱花互娱源码开挂教程视频分享装挂详细步骤在当今的网络游戏中,新樱花互娱源码作为一种经典的娱乐方式,...
透视软件!闲聚app辅助软件,... 透视软件!闲聚app辅助软件,福建天天开心辅助工具下载,必胜教程(有挂详情)-哔哩哔哩;福建天天开心...
第2分钟讲究!全民比鸡辅助透视... 大家好,今天小编来为大家解答全民比鸡辅助透视工具这个问题咨询软件客服可以免费测试直接加微信(1367...