Ich möchte Objekte von Array beobachten in einigen Gitter-Auto-Komponenten. Zusätzlich möchte ich die Anzahl von Grid-Karten auf einen Wert basierend auf Variablen in meiner Komponente begrenzen, d. H. gridCols*maxRows
unter Verwendung der *ngIf
Zustandsprüfung.Angular: mit beiden * ngFor und * ngIf mit Bezug auf Index-Wert in untergeordneten Elementen
Ich weiß, dass es nicht möglich ist, gleichzeitig *ngFor
und *ngIf
auf demselben Element zu verwenden. Also muss ich <template ngFor ...>
verwenden, um meine Rasterkartenelemente zu umhüllen, die basierend auf *ngFor
bedingt gerendert werden. In Anbetracht dessen, wie kann ich index
oder content
Variablen von *ngFor
in *ngIf
verweisen.
<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>
UPDATE
ich so etwas wie dieses
#i="index"
mit einer solchen Fehlermeldung versucht:
Es gibt keine Richtlinie mit "exportAs" auf „Index "
Ich würde vorschlagen, die Slice-Rohr für die Begrenzung der maximalen Zeilen (oder tatsächlich max Elemente) https://angular.io/docs/ts/latest/api/common/index/SlicePipe-pipe.html –
Es ist in Ordnung, aber ich möchte auch wissen, wie ich Index-und Inhaltsvariablen von ngFor-Schleife im Kind-Element Referenz könnte es auch nützlich –
Ich weiß nicht, was '' ist. Wenn es sich um eine Komponente handelt, die Sie erstellt haben, fügen Sie einfach Eingaben hinzu wie '@Input() index: int; @Input() Inhalt: SomeType; 'und dann übergeben Sie es wie'