Ich habe die folgende ngFor
Schleife:Angular 2: Verwendung von ngIf innerhalb ngFor nicht
<div *ngFor="let variety of varieties; let i=index">
<div class="varietyTypeName">
{{variety.VarietyTypeName}}
</div>
</div
Welche der folgenden ausdruckt:
Greens
Greens
Greens
Fruits
Ich möchte es nicht wiederholt drucken, so dass anstelle (in diesem Szenario), würde ich es gerne ausdrucken:
Greens
Fruits
Die VarietyTypeNames
wird immer im Array zusammen gruppiert. Wenn mehrere Greens vorhanden sind, werden sie immer nacheinander angezeigt. Könnte ich einfach eine ngIf
innerhalb der Schleife verwenden und im Grunde nur sagen, es nur die VarietyTypeName
anzuzeigen, wenn es nicht gleich der vorherigen VarietyTypeName
ist?
Ich habe versucht, diese Logik unten zu implementieren, aber ich bekomme einen Fehler. Was mache ich falsch? Hier
<div *ngFor="let variety of varieties; let i=index">
<div *ngIf="variety[i].VarietyTypeName != variety[i - 1].VarietyTypeName" class="varietyTypeName">
{{variety.VarietyTypeName}}
</div>
</div
ist die Fehlermeldung:
Kann nicht lesen Eigenschaft 'VarietyTypeName' undefinierter
Ich denke @Gunter ist richtig. Sie verwenden "let Varietät von Varietäten", aber Sie verwechseln es mit dem C-Style for Loop. Sie brauchen hier keinen Index, aber wenn Sie ihn verwenden möchten, dann sollten Sie anstelle von "variety [i]" 'variations [i]' verwenden, da letzteres Ihre Sammlung ist, während former ein Objekt in der Sammlung ist. –