Hier ist mein html:ionische 2 - stop ein Click-Ereignis
<ion-card *ngIf="oefening1" (click)="navigate($event, oefening1, oefening2, oefening3, oefening4)">
<img src="assets/img/{{ oefening1 }}.jpg"/>
<div *ngFor="let exercise of exerciseIsDone;">
<div *ngIf="exercise.done && exercise.exercise == oefening1" class="overlay">
<ion-icon name="checkmark-circle" class="checkmark"></ion-icon>
</div>
</div>
Ich habe eine Funktion wie folgt aus:
navigate(event, exercise, exercise2, exercise3, exercise4){
for (var i = 0; i < this.exerciseIsDone.length; i++) {
console.log('forLoop: ',this.exerciseIsDone[i]);
if(this.exerciseIsDone[i].done){
console.log(event.stopPropagation());
event.stopPropagation();
console.log(event.target);
console.log('DONE!!!!!');
}
}
this.navCtrl.push(exerciseSlides, {
clickedExercise: exercise,
secondExercise: exercise2,
thirdExercise: exercise3,
fourthExercise: exercise4
});
}
Aber es wird stil ausführen und die console.log(event.stopPropagation());
ist nicht definiert.
Also im Grunde, was ich tun möchte ist, wenn die Übung fertig ist, sollte es nicht klickbar sein (nicht zur nächsten Seite navigieren). Wie kann ich das beheben ??
Und die target
Protokoll sagt, dass <div class="overlay">
Ich weiß nicht, ob dies das Problem verursacht?
Danke für die Erklärung aber jetzt sind alle Karten nicht die Funktion ausgeführt wird. Wie kann ich eine if-Anweisung schreiben, um nur die beendete Übung zurückzugeben? – Sreinieren
Wenn ich zurück – Sreinieren
Nun verstehe ich nicht, was du meinst, aber ich denke, dass dies das Problem ist: 'if (this.exerciseIsDone [i]) { zurück; } 'versuchen,' .done' zu entfernen, weil ich vom Namen 'excersiceIsDone [i]' nehme an, es ist ein Array von Booleans. Ich könnte falsch sein, aber ich kann dir nicht ohne den vollen Kontext helfen – Humberd