Ich stoße auf ein Problem bei der Erstellung eines dynamischen Klassennamens, der auf dem Angular 2 ngFor-Schleifenindex basiert. Ich musste die folgende Syntax verwenden, weil Angular 2 ngFor und ngIf auf demselben Element nicht mag.
Wie kann ich mit dieser Syntax einen dynamischen Klassennamen mit dem Wert von index bei {{index}}
erstellen. Ich weiß, dass dies kein richtiger A2-Code ist, aber ich habe es in mein Code-Beispiel eingefügt, um Ihnen zu zeigen, wo ich den Wert sehen möchte.
Der Wert "variants" ist ein leeres Array mit einer festgelegten Länge. "Variante" hat also keinen Wert.
"currentVariant" ist eine Zahl, die standardmäßig 0 ist.
BEARBEITEN : Dieser obige Code ist korrekt. Ich hatte einen weiteren irrelevanten Fehler, von dem ich dachte, dass er mit diesem Code verbunden war.
Ich verstehe dein Problem nicht wirklich; -)
Es gibt zwei Möglichkeiten, Klassen für ein bestimmtes Element festzulegen:
Wie Sie mit geschweiften Klammern umgehen:
%Vor% Test
wird nur für das dritte Element (Index 2) und rot angezeigt.
Wie von @Langley vorgeschlagen, verwenden Sie die ngClass
-Direktive
Der Unterschied besteht darin, dass Sie die NgClass-Direktive im providers
-Attribut Ihrer Komponente angeben müssen. Auch hier wird Test
nur für das dritte Element (Index 2) und rot angezeigt.
Ihre folgenden Sätze: "Der Wert variants
ist ein leeres Array mit einer festgelegten Länge. variant
hat also keinen Wert. currentVariant
ist eine Zahl, die standardmäßig 0 ist." Wie erwarten Sie, dass etwas angezeigt wird, wenn Ihr Array leer ist? Ein ngFor
ist eine Iteration ...
Hoffe es hilft dir, Thierry
Tags und Links javascript angular typescript