Angular 4.2-使用动画输入参数-如何保持动画的结束状态

Angular 4.2-使用动画输入参数-如何保持动画的结束状态,angular,angular-animations,Angular,Angular Animations,在版本4.2之前(目前在RC中),对于缩放动画,我曾经有以下代码: export const magnifyAnimation = trigger('magnify', [ state('default', style({ 'transform': 'scale(1)' })), state('magnified', style({ 'transform': 'scale(1.3)' })), transition('def

在版本4.2之前(目前在RC中),对于缩放动画,我曾经有以下代码:

export const magnifyAnimation = trigger('magnify', [
    state('default', style({
        'transform': 'scale(1)'
    })),
    state('magnified', style({
        'transform': 'scale(1.3)'
    })),
    transition('default <=> magnified', [
        animate('430ms ease-out')
    ])
]);
动画代码更改为:

const zoomEffect = animation([
    animate('430ms ease-out', style({
        'transform': 'scale({{scaleFactor}})'
    }))
], { params: { scaleFactor: '1' } });

export const magnifyAnimation = trigger('magnify', [
    transition('default => magnified', useAnimation(zoomEffect), { params: { scaleFactor: '1.3' } }),
    transition('magnified => default', useAnimation(zoomEffect), { params: { scaleFactor: '1' } })
]);
但是,如果没有在动画代码中的状态中定义样式,动画完成后,元素(本例中的按钮)总是跳到其自然大小。 我不知道如何在state()代码块中指定输入参数

我也试过:

state('magnified', style({
    'transform': '*'
}))

我希望它能保留动画结束时转换所具有的任何价值,但它没有完成任何事情

我有时会遇到一些执行问题:离开转换。此问题仅在angular 4.2.0-rc-2/1中出现,但如果我降级到4.1.0,则问题将消失(但您将丢失4.1.0中的动画停滞等功能)。我认为我们必须等到4.2.0版本的最终版本才有一个类似的问题,即动画使用动态动画输入参数恢复到其原始样式@MiguelFelipeGuillenCalo I最终使用了AnimationBuilder,它没有状态或触发器的概念-在决定制作另一个动画之前,“end”属性一直保留。至少在我的例子中,AnimationBuilder比使用状态和触发器更好,即使它们都可以使用输入参数。至于输入参数的方式,我打开的问题已经被标记。这已经考虑在内了。
state('magnified', style({
    'transform': '*'
}))