Шаблон для этого компонента выглядит так
<ng-template #primary @fading><ng-content select="[primary]"></ng-content></ng-template> // gives error
<ng-template #secondary> <ng-content select="[secondary]"></ng-content></ng-template>
<ng-container *ngIf="(mode | async)=== mode_layout_100_0">
<div class="h-100">
<ng-container *ngTemplateOutlet="primary"></ng-container>
</div>
</ng-container>
<ng-container *ngIf="(mode | async)=== mode_layout_0_100">
<div class="h-100">
<ng-container *ngTemplateOutlet="secondary"></ng-container>
</div>
</ng-container>
<ng-container *ngIf="(mode | async)=== mode_layout_33_66">
<div class="d-flex flex-row h-100 split-view" @fading> // dosent work
<div class="d-none d-sm-none d-md-none d-lg-block col-lg-4 p-0">
<ng-container *ngTemplateOutlet="primary"></ng-container>
</div>
<div class="col-12 col-sm-12 col-md-12 col-lg-8 p-0 view-seperator">
<ng-container *ngTemplateOutlet="secondary"></ng-container>
</div>
</div>
</ng-container>
<ng-container *ngIf="(mode | async)=== mode_layout_66_33">
<div class="d-flex flex-row h-100 split-view">
<div class="col-sm-8 p-0">
<ng-container *ngTemplateOutlet="primary"></ng-container>
</div>
<div class="col-sm-4 p-0 view-seperator">
<ng-container *ngTemplateOutlet="secondary"></ng-container>
</div>
</div>
</ng-container>
Он действует как менеджер, который разделяет представление в зависимости от того, что нам нужно: первичный или вторичный или их комбинация, а также от 33% до 66%.
Я добавил следующие метаданные в декоратор
animations: [
trigger('fading', [
transition(':enter', animate('800ms ease-out')),
transition(':leave', animate('800ms ease-in')),
])
]
То, чего я пытаюсь добиться, - это когда когда-либо вид меняется с режима с Первичного на вторичный в случае вложенного использования этого компонента. Должна быть плавная анимация легкости входа и выхода.
Как добавить тег animate, который я пытался добавить, к ng-template
, он выдает ошибку, и если я добавляю к каждому div, это не работает.