我今天看到了这段代码true <=> false
。
但是我不知道这个表达式,我也不明白这段代码是如何工作的。
请帮助我理解此代码。
顺便说一下,这段代码是在ionic 4的控制页面动画中这样编写的。
export const FeedOut = trigger('state', [
state('false', hiddenStyle),
state('true', showStyle),
transition('true <=> false', animate('300ms ease-in')),
transition(':leave', animate(400, hiddenStyle)),
]);
谢谢
答案 0 :(得分:1)
此代码定义了transition animations in Angular。它定义了一个称为'state'
的触发器,该触发器定义了两种状态。分别称为'false'
和'true'
。 这与实际的javascript布尔值 false
和true
无关,这就是编写此代码的人决定如何调用它们的方式。实际上,您可以更改为更具描述性的内容,例如'hiddenState'
和'shownState'
。
然后,它定义了状态之间的转换,告诉角度转换既适用于两种方式,也适用于从'false'
到'true'
或从'true'
到'false'
。
那么您可能有一些写着[@state]="..."
的html代码。 如果其中包含字符串我也建议将单词'false'
和/或'true'
,并且您已决定如上所述更改状态的名称,则也必须在此处更改状态。 'state'
更改为'mytrigger'
,以免引起混淆。 .ts文件和.html文件中都需要对此进行更改
编辑:实际上,如今Angular似乎在解析布尔值,因此您可以简单地使用状态名称“ true”和“ false”,然后让Angular评估html内部的真实性而无需转换为字符串