Angular 4 动画正在初始化组件上执行



>当执行使用动画的组件时,动画正在执行,与动画的状态相同 显示无,

显示此 GIF:

动图

打开组件时,模态中的动画更合适,我不希望这样。

帮帮我,求求你!!

组件.ts

trigger('openModal', [
state('true', style({
display: 'block',
'transform': 'scale(1)'
})),
state('false', style({
display: 'none',
'transform': 'scale(0)'
})),
transition('* => *', animate('.2s'))
]),
openCancelFavorite: boolean = false;

组件.html

<div [@openModal]="openCancelFavorite" class="onbusca-favorite-remove">
<div class="row onbusca-row">
<div class="ml-auto col-auto">
<i (click)="openCancelFavorite = false" class="fa fa-close onbusca-login-close"></i> 
</div>
</div>
<p class="not-p onbusca-favorite-remove-message">Você tem certeza que quer remover este produto dos favoritos ?</p>
<div class="onbusca-favorite-buttons">
<button class="btn btn-primary">Sim, remova</button>
<button (click)="openCancelFavorite = false" class="btn btn-outline-primary">Cancelar</button>
</div>
</div>

我相信您只需要将类的显示默认设置为none即可。

所以添加显示:无; 到onbusca-favorite-remove

.onbusca-favorite-remove {
display: none;
}

否则,您可以在 *ngIf 上切换动画,如下所示:

将动画更改为:

trigger('openModal', [
state(':enter', style({
display: 'block',
'transform': 'scale(1)'
})),
state(':leave', style({
display: 'none',
'transform': 'scale(0)'
})),
transition('* => *', animate('.2s'))
]),
openCancelFavorite: boolean = false;

将模板更改为:

<div *ngIf="openCancelFavorite" [@openModal] class="onbusca-favorite-remove"> ... </div>

相关内容

最新更新