角度-如何定义动画参数默认值?

br.*_*ien 5 angular angular-animations

我正在使用Angular动画,并且要改善我的动画,我需要使用参数。要做到这一点,我也为这个答案建议,用插值

这是我对状态的要求:

state('position', style({ transform: 'translateX({{translate_X}}) translateY({{translate_Y}}) skewX({{skew_X}}) skewY({{skew_Y}})' }))
Run Code Online (Sandbox Code Playgroud)

component.html

<div class="iris" [@move]="{value: triggerValue, params: {translate_X: translate_X, translate_Y: translate_Y, skew_X: skew_X, skew_Y: skew_Y}}"></div>
Run Code Online (Sandbox Code Playgroud)

这是我无法解决的错误:

错误错误:由于以下错误,动画触发器“ move”构建失败:-state(“ position”,...)必须为以下所有样式替换定义默认值:InjectableAnimationEngine上的translation_X,translate_Y,skew_X,skew_Y .AnimationEngine.registerTrigger(...)

那么我们应该在哪里以及如何定义Angular动画参数的默认值呢?

son*_*oni 7

我不确定是否为时已晚,但是正如控制台所言,您必须为动画添加默认值,并且可以通过添加

{params: {your_variable_name: 'default_value'}}
Run Code Online (Sandbox Code Playgroud)

在您处于动画状态时,如下所示:

state('in', style({height: '{{maxHeight}}px',}), {params: {maxHeight: '0'}})
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!