Angular - 如何定义动画参数的默认值?

时间:2017-12-22 18:46:13

标签: angular angular-animations

我正在使用Angular动画,为了改进我的动画,我需要使用参数。为此,我使用插值进行了as this answer suggested

以下是我对州的看法:

state('position', style({ transform: 'translateX({{translate_X}}) translateY({{translate_Y}}) skewX({{skew_X}}) skewY({{skew_Y}})' }))

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>

这是我无法解决的错误:

  

错误错误:动画触发&#34;移动&#34;由于未能建立   以下错误:     - state(&#34; position&#34;,...)必须为以下所有样式替换定义默认值:translate_X,translate_Y,skew_X,   skew_Y       在InjectableAnimationEngine.AnimationEngine.registerTrigger(...)

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

1 个答案:

答案 0 :(得分:5)

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

来实现
{params: {your_variable_name: 'default_value'}}

在你的动画状态中,像这样:

state('in', style({height: '{{maxHeight}}px',}), {params: {maxHeight: '0'}})

希望它有所帮助!