Angular 角度:在:左&;上设置嵌套组件的动画:进入美国

Angular 角度:在:左&;上设置嵌套组件的动画:进入美国,angular,animation,triggers,children,Angular,Animation,Triggers,Children,我想为元素的DOM插入/删除设置动画,它由我的组件树中较高的父级触发,如下所示: 动画元素 (请注意,这些组件不是“被屏蔽的”(使用ng Content时,没有内容投影);它们只是其父级各自模板中的直接子级和唯一子级(最小复制以更好地说明我的问题:)) 按原样,只有:enter转换被设置动画,因为组件-A的子树在条件不满足时会立即消失,从而阻止:leave动画播放 现在,缔约国声明: 每次以角度触发动画时,父动画具有优先级,所有子动画都被阻止 因此,我需要使用animateChild函数将动

我想为元素的DOM插入/删除设置动画,它由我的组件树中较高的父级触发,如下所示:


动画元素
(请注意,这些组件不是“被屏蔽的”(使用
ng Content
时,没有内容投影);它们只是其父级各自模板中的直接子级和唯一子级(最小复制以更好地说明我的问题:))

按原样,只有
:enter
转换被设置动画,因为
组件-A
的子树在
条件
不满足时会立即消失,从而阻止
:leave
动画播放

现在,缔约国声明:

每次以角度触发动画时,父动画具有优先级,所有子动画都被阻止

因此,我需要使用
animateChild
函数将动画“滴流”到
component-C

触发器(“级联”[
转换(“:enter,:leave”,[query(@*”,animateChild())])
])
组件B
模板:


将此触发器添加到
component-B
(将触发器应用于其模板中的
component-C
元素)将产生我的预期结果:
:输入
:为
component-C
的div保留动画播放

问题是,在我的例子中,
component-A
还为其模板元素注册了动画以供使用,并且出于某种原因,重用
@cascade
触发器(仅此一个,甚至没有其他动画)跳过
component-C
的div动画:这两种状态都调用
@fadeInOut
触发器,但是动画一开始就“完成”

再说一次,我可能不是很清楚,但是。 打开控制台查看每个触发器“开始”和“完成”计时和顺序的日志。扰流板:触发事件不会按树的顺序“向上/向下冒泡”

我肯定错过了一些愚蠢的事情,因为想要动画元素的:enter/:leave远离其父元素的
[ngFor]
[ngIf]

谢谢你的意见