离子3动画同时显示隐藏

Vik*_*Vik 0 animation ionic3 angular

我有一个离子卡,根据布尔值显示或隐藏的元素很少。

一切正常,但更改非常迅速,因此无法提供出色的用户体验。

离子卡看起来像:

    <ion-card>
                            <img *ngIf="item.showActions == false" class="img-card" src="{{item.imgUrl}}"/>
                            <ion-card-content>
                                <ion-card-title>{{item.msg}}</ion-card-title>
                            </ion-card-content>
                            <ion-grid *ngIf="item.showActions == true" no-padding style="border-top: 0.5px solid #E7E7E7;border-bottom: 1px solid #E7E7E7">
                                <ion-row padding><ion-col><p>For this news you can take following actions</p></ion-col></ion-row>
                                <ion-row text-center>
                                        <ion-col>
                                        <br/>
                                    <button ion-button clear small  icon-left (click)="presentPopover($event)">Show
                                    </button>
                                     <h2>Create Task</h2>
                                     <br/>
                                </ion-col>
                                </ion-row>
</ion-grid>
<ion-card>
Run Code Online (Sandbox Code Playgroud)

因此item.showActions是一个布尔值,我会根据某些操作进行翻转。我希望这种过渡能够像翻转或淡入淡出一样顺利进行。

And*_*ann 5

您可以使用角度动画来做到这一点。淡入/淡出元素的示例:

import { trigger, state, style, animate, transition } from '@angular/animations';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
  animations: [
    trigger('visibilityChanged', [
      state('shown', style({ opacity: 1 })),
      state('hidden', style({ opacity: 0 })),
      transition('* => *', animate('500ms'))
    ])
  ]
})

export class HomePage {
  visibility: string = 'hidden';
  ...
}
Run Code Online (Sandbox Code Playgroud)

在您的HTML中:

<div [@visibilityChanged]="visibility" style="opacity: 0">test</div>
Run Code Online (Sandbox Code Playgroud)

可以在这里找到更多信息:https : //angular.io/guide/animations