角度动画:为父元素和子元素添加动画

2024-01-04

我创建了一个元素(div.parent)以及效果很好的 Angular 动画。当我向其中添加一个子元素并尝试同时为子元素设置动画时,其中一个动画最终不会运行(它只是捕捉到新状态)。

堆栈闪电战: https://stackblitz.com/edit/angular-2tbwu8 https://stackblitz.com/edit/angular-2tbwu8

Markup:

<div [@theParentAnimation]="state" class="parent">
  <div [@theChildAnimation]="state" class="child">
  </div>
</div>

动画:

trigger( 'theParentAnimation', [
  state( 'down', style( {
    transform: 'translateY( 100% ) translateZ( 0 )',
  } ) ),
  transition( '* <=> *', [
    group( [
      query( ':self', [
        animate( '0.9s cubic-bezier(0.55, 0.31, 0.15, 0.93)' ),
      ] ),
      query( '@theChildAnimation', animateChild() ),
    ] ),
  ] ),
] ),
trigger( 'theChildAnimation', [
  state( 'down', style( {
    transform: 'translateY( 100% ) translateZ( 0 )',
  } ) ),
  transition( '* <=> *', [
    animate( '0.9s cubic-bezier(0.55, 0.31, 0.15, 0.93)' ),
  ] ),
] ),

看起来你不需要使用query( ':self', ...因为你正在使用group()动画将并行运行。您可以更改父动画中的过渡:

transition('* <=> *', [
  group([
    query('@theChildAnimation', animateChild()),
    animate('0.9s cubic-bezier(0.55, 0.31, 0.15, 0.93)'),
  ]),
]),

更新了 StackBlitz https://stackblitz.com/edit/angular-vnvuxq

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

角度动画:为父元素和子元素添加动画 的相关文章

随机推荐

  • REST 在分布式 Web 应用程序中的用途是什么

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习 REST API 但无法理解如何在分布式 Web 应用程序中使用 REST 这是唯一的参考 http www slides
  • 如何选择特定类的最后一个元素[重复]

    这个问题在这里已经有答案了 我想知道为什么 foo 正在记录一个值 而 bar 却没有 它们在语法上似乎也相同 编辑 这是一个 X Y 问题 我的目标是获得班级的最后一个元素foo我尝试使用这个last child 我试过last of t
  • 未提供有效的身份验证

    我被困在这个步骤2 4wiki https dev loganalytics io documentation 1 tutorials direct api 在上一步中 我获得了一个有效的令牌 为什么我收到 未提供有效的身份验证 我添加了一
  • 查找仅限于多个范围的重复项 - pandas

    假设我们的问题可以这样简化 df pd DataFrame df C rows C1 C2 C3 C2 C1 C2 C3 C1 C2 C3 C4 C1 df values customer1 4321 1266 5671 customer2
  • 找不到 MSBuild.exe、cmd.exe

    我最近安装了 Visual Studio 2017 MSBuild exe 不应该附带吗 bash 脚本之一正在调用它 但找不到任何内容 这是 build bat 中产生错误的部分 您可以看到整个文件here https github co
  • OpenCV Docker 多阶段构建 - 无法安装预构建源

    我正在尝试构建一个 Docker 映像 其中包括具有 CUDA 和 GPU 支持的非常特殊的 OpenCV 配置 构建成功 如果我make install它来自构建图像的相同上下文 它可以正常工作 当我尝试使用多阶段构建以避免保留构建 Op
  • Spacy Entity Linking 模型的训练时间

    我正在尝试使用 Wikidata 和 Wikipedia 中的脚本来训练 Spacy Entity Linking 模型https github com explosion spaCy tree master bin wiki entity
  • C# 匿名类型在 C# 7 中是否多余

    由于 C 7 引入了值元组 是否存在比元组更适合的有意义的场景 例如 以下行 collection Select x i gt x i Where y gt arr y i f y x ToArray 制作以下行 collection Se
  • 当用户返回后台应用程序时如何触发功能?

    例如 用户打开应用程序 按主页按钮 然后再次返回该应用程序 当用户导航回应用程序时 有什么方法可以触发某些功能吗 例如 当用户返回应用程序时自动加载视图对象 这个问题适用于 Android 和 iOS 在项目中根据您的喜好使用以下内容App
  • ggpattern na 值后缺少模式

    使用 ggpattern 如何不显示 NA 值的模式 但在该点之后继续模式 当我运行此代码时 NA 值之后没有更多模式 尽管应该有 library swimplot library ggpattern library tidyverse d
  • “清理”用户提交的 Javascript - 所以它仍然有效!

    我计划在我的网站中设置一个功能 用户可以提交 HTML CSS 和 JS 然后将其 实时 生成为完整的 HTML 工作页面 其他用户将能够看到这一点 这些页面需要有有效的 Javascript 我知道这本身就是一个相当大的安全缺陷 但该功能
  • Excel LEN() 函数对长度超过 20 个字符的数字返回 5

    当我的数字超过 20 个字符时 Excel 中的 LEN 函数返回 5 我已经在桌面和移动设备上尝试过此操作 并得到相同的结果 当我使用 评估公式 时 它显示它从 LEN 100000000000000000000 20个零 到 5 如果有
  • 驱动程序的卸载按钮被禁用

    我已经为虚拟设备编写了相当简单的第一个驱动程序 它还有一个 inf 我使用安装驱动程序开发者大会 http support microsoft com kb 311272 它安装良好且功能正常 但我的问题是当我尝试卸载它时 devcon e
  • 使用语义发布获取下一个标签版本

    您好 我在我的存储库中使用语义发布进行版本控制 在我的 Gitlab 中 当我将分支与 master 合并时 我的标签会根据提交而增加 并且工作正常 有什么方法可以让我获得合并之前的 下一个标签版本 我想在合并之前将下一个版本写入文件 尝试
  • 不同基于 C# 的服务之间的通信

    有没有办法在两个不同的服务之间进行通信 我有一项已经运行的服务 有没有办法创建第二个服务 可以附加到第一个服务并向其发送和接收日期 我还想从控制台应用程序访问 Windows 服务并附加到它 是否可以 您可以尝试使用以下方法来实现 IPC
  • 检测语音转文本中的填充词

    我使用 Google Speech API 进行语音到文本的转换 但是 它会过滤掉填充词 例如 呃 嗯 啊 等 我有什么办法可以获得包含填充词的文本吗 使用更灵活的API 如Kaldihttp kaldi asr org http kald
  • apn_sender 和 Rails 3

    我有一个项目需要从服务器向设备发送通知 我不知道如何以及从哪里开始 首先创建表或其他 因为我是 Ruby on Rails 的新手 我已经按照 apn sender 教程进行操作 但它不起作用并且在启动时总是出错 有没有为 Rails 3
  • do.call 构建并执行 data.table 命令

    我有一个小data table代表每个测试单元格的一条记录 AB 测试结果 并且我想添加更多的列来将每个测试单元格与其他测试单元格进行比较 换句话说 我想要添加的列数将取决于相关 AB 测试中有多少个测试单元 My data table好像
  • Python SocketServer 可在本地主机上运行,​​但不能在服务器上运行

    下面是我当前正在使用的代码 usr bin python print Content type application print n n import SocketServer import cgitb cgitb enable clas
  • 角度动画:为父元素和子元素添加动画

    我创建了一个元素 div parent 以及效果很好的 Angular 动画 当我向其中添加一个子元素并尝试同时为子元素设置动画时 其中一个动画最终不会运行 它只是捕捉到新状态 堆栈闪电战 https stackblitz com edit