Ich habe ein Array mit definierten Antworten für eine Umfrage-Frage im Datenmodell in component.ts des entsprechenden Templates. Das Template-Rendering für einen <li>
-Tag für jede Antwort (in Array) mit Iteration dieses Array via * ngFor-Directive funktioniert super.Angular 2 - ngFor-Iteration -> click-event funktioniert nicht bei single Array-Entry von ngFor
Jetzt mag ich für JEDEN diese <li>
-Tags (Multiple-Wahl Antwort) einem Click-Ereignis für Toggle einen aktiven Zustand implementieren.
Die folgende Markup macht alle Elemente des Array (alle Antworten) aktiv, NICHT nur die einzige li
-Tag, die ich geklickt habe. Das ist mein Problem, auf das ich mich mit der Unterstützung der Community freue.
HTML-Vorlage
<ul>
<li *ngFor="let answer of questions.quest_1.answers, let i=index;" (click)="isActive = !isActive" [ngClass]="{'active': isActive}">{{answer}}</li>
</ul>
relevante Bauteil-Code
questions = {
quest_1: {
quest: 'my question...',
answers: ['answer A', 'answer B', 'answer C', 'answer D'],
},}
für Knebel:
isActive: boolean = false;
Ich habe versucht, den Index für Click-Ereignis in HTML umzusetzen aber es tut es nicht Vielen Dank im Voraus
Vielen Dank für Ihre Antwort. Es funktioniert gut mit dieser Änderung in meinem Datenobjekt! – Sash84
kein Problem: D .. –