Я хотел бы визуализировать объекты из массива, наблюдаемого в некоторых компонентах grid-car. Кроме того, я хочу ограничить количество карт сетки значением на основе переменных в моем компоненте, то есть gridCols*maxRows
с использованием *ngIf
проверки условий.
Я знаю, что невозможно одновременно использовать *ngFor
и *ngIf
в одном элементе. Поэтому мне нужно использовать <template ngFor ...>
, чтобы обернуть элементы моей сетки, которые будут условно отображаться на основе *ngFor
. Учитывая это, как я могу ссылаться на переменные index
или content
из *ngFor
в *ngIf
.
<template ngFor let-content [ngForOf]="contentObjectsObservable | async" let-i="index" [ngForTrackBy]="trackByFn">
<grid-card *ngIf="i < gridCols*maxRows" [content]="content" [style.width.%]="gridCardWidth"></grid-card>
</template>
ОБНОВЛЕНИЕ
Я пробовал что-то подобное
#i="index"
с таким сообщением об ошибке:
Нет директивы с параметром "exportAs", установленным в значение "index".
<grid-card>
. Если это компонент, который вы создали, просто добавьте входные данные, например@Input() index:int; @Input() content:SomeType;
, а затем передайте его, как<grid-card *ngIf="i < gridCols*maxRows" [index]="i" [content]="content"
- person Günter Zöchbauer   schedule 08.05.2017let-i="index"
, а затем использовать в компоненте сетки этот оператор*ngIf="i < gridCols*maxRows"
. Я думал, что это не работает, потому что мои элементы никогда не скрываются - person Michał Ziobro   schedule 08.05.2017#i="index"
устарел и не поддерживается почти год.let-i="index"
- правильная форма. Вы также можете использовать<ng-container *ngFor="let content of contentObjectsObservable | async; let i=index">
вместо<template ...>
, чтобы иметь возможность использовать более общий синтаксис, но с тем же результатом. - person Günter Zöchbauer   schedule 08.05.2017{{ i }}
перед<grid-card
. Вы также можете проверить{{gridCols*maxRows}}
- person yurzui   schedule 08.05.2017*ngIf="i < 3"
, и мне удалось скрыть более трех элементов, поэтому вgridCols*maxRows
есть некоторая ошибка - person Michał Ziobro   schedule 08.05.2017gridCols*maxRows
к огромному числу. Не знаю, зачем мне это проверять. - person Michał Ziobro   schedule 08.05.2017