Angular 4.2-使用动画输入参数-如何保持动画的结束状态
在版本4.2之前(目前在RC中),对于缩放动画,我曾经有以下代码: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
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': '*'
}))