正如您现在所做的那样,Bootstrap切换只需将display: none
更改为display: block
,反之亦然。我一直在阅读Angular 2 Animation Guide,但是当我只想根据元素的style.display
属性进行更改时,这一切似乎都取决于组件的更改属性。
我是否以错误的方式思考这个问题,或者我将如何做到这一点?
答案 0 :(得分:0)
如Angular Docs中所述,您可以使用void和*状态来定义动画元素进入和离开的过渡:
输入:void => *
离开:* =>空隙
animations: [
trigger('myAwesomeAnimation', [
transition('void => *', [
style({ opacity: 0 }),
animate(1000)
]),
transition('* => void', [
animate(1000, style({opacity: 100}))
])
])
]
HTML
<ul>
<li @myAwesomeAnimation *ngFor="let i of list">
{{ i }}
</li>
</ul>
答案 1 :(得分:0)
我在组件中使用jquery切换到toggle()
,然后采用更加Angular-idomatic的方式将布尔属性与*ngIf
一起使用。它更清晰,更具说明性,并允许我使用:enter
和:leave
过渡。