Angular 角度动画延迟未执行

Angular 角度动画延迟未执行,angular,angular-animations,Angular,Angular Animations,我已经在angular 10中设置了基于路由器的动画,但是我无法使动画延迟工作 这是我的代码: const simpleCommonStyle = style({ position: 'absolute', height: '100vh', width: '100%', transformStyle: 'preserve-3d' }); const flipInLeft = [ style({transformOrigin: '50% 50%', animationD

我已经在angular 10中设置了基于路由器的动画,但是我无法使动画延迟工作

这是我的代码:

const simpleCommonStyle = style({
    position: 'absolute', height: '100vh', width: '100%',
    transformStyle: 'preserve-3d'
});


const flipInLeft = [
    style({transformOrigin: '50% 50%', animationDelay: '.5s', animationFillMode: 'both'}),
    animate('.5s ease-in', keyframes([
        style({animationDelay: '.5s', transform: 'translateZ(-1000px) rotateY(-90deg)', opacity: 0.2, offset: 0}),
        style({animationDelay: '.5s', transform: 'translateZ(0px) rotateY(0deg)', opacity: 1, offset: 1})
    ]))
];

const flipOutRight = [
    style({transformOrigin: '50% 50%', animationFillMode: 'both'}),
    animate('.5s ease-in', keyframes([
        style({opacity: 1, offset: 0}),
        style({transform: 'translateZ(-1000px) rotateY(90deg)', opacity: 0.2, offset: 1})
    ]))
];

simpleEnterAnimation = flipInLeft;
simpleLeaveAnimation = flipOutRight;


const pageTransitionAnimation = (stateChangeExpr: string,
                                 commonStyle: AnimationStyleMetadata,
                                 enterAnimation: AnimationMetadata | AnimationMetadata[] | AnimationAnimateMetadata,
                                 leaveAnimation: AnimationMetadata | AnimationMetadata[] | AnimationAnimateMetadata
):
    AnimationTransitionMetadata => {
    return transition(stateChangeExpr, [
        group([query(':enter, :leave',
            commonStyle,
            {optional: true}),
            group([
                query(':leave', leaveAnimation, {optional: false}),
                query(':enter', enterAnimation, {optional: false})
            ])
        ])
    ]);
};

export const pageTransitions =
    trigger('pageTransitions', [
        pageTransitionAnimation('Home => *', simpleCommonStyle, simpleEnterAnimation, simpleLeaveAnimation),
        ... (same for all routes) ...
    ]);

我确实尝试过在样式本身、Angular的动画功能的计时中设置动画延迟,作为组选项中的延迟参数和在进入动画周围的交错设置,但没有效果,我能得到的最好结果是两个动画同时启动,在某些情况下,离开的动画甚至被简单地跳过


我对角度动画比较陌生,因此我不确定是否以正确的方式设置了所有运动部件,因此非常感谢您的每一个提示。

好的,我是自己发现错误的,而不是:

transition(stateChangeExpr, [group(......)])
我现在用

transition(stateChangeExpr, group(...))

现在延迟开始工作。

好的,我是自己发现错误的,而不是:

transition(stateChangeExpr, [group(......)])
我现在用

transition(stateChangeExpr, group(...))
现在,这种延迟正在发挥作用