So schalten Sie den Text im <a> -Tag in Winkel 7 um


8

Ich habe eine Schaltfläche auf dem Tag mit dem Text "Unfreeze". Ich möchte es auf "Einfrieren" umschalten, wenn ich auf die Schaltfläche klicke. Hier ist mein Code:

<a class="btn btn-primary full-width" (click)="clickFreeze($event)">
                    <i class="fa fa-plus-circle"></i>Unfreeze</a>

private clickFreeze(event) {
    console.log("event.srcElement.childNodes[1].textContent", event.srcElement.childNodes[1].textContent);
    if(event.srcElement.childNodes[1].textContent =='Unfreeze'){
      event.srcElement.innerText="Freeze and Save";
    } else if(event.srcElement.innerText =='Freeze and Save'){
      event.srcElement.innerText="Unfreeze";
    }
}

Aus irgendeinem Grund funktioniert es nicht. event.srcElement.childNodes[1].textContentist gleich "Unfreeze", wenn ich es tröste, aber es tritt nicht in die if-Schleife ein.


<a class="btn btn-primary full-width" (click)="clickFreeze($event)"> <i class = "fa fa-plus-circle"> </ i> Unfreeze </a>
Yogesh Mali

2
Spielen Sie nicht mit dem DOM-Element direkt im Modell.
Krishna Prashatt

Antworten:


14

Ich bin mir nicht sicher, warum Sie diesen Ansatz verwenden. Sie können den Text einfach so bedingt umschalten.

.html

<a class="btn btn-primary" (click)="isFreeze = !isFreeze">
  <i class="fa fa-plus-circle"></i>
  {{isFreeze ? "Unfreeze" : "Freeze and Save"}}
</a>

.ts

isFreeze: boolean = true;

Vielen Dank für Ihre Hilfe, aber (click) = "clickFreeze () macht auch andere Sachen, so dass ich (click) =" isFreeze =! isFreeze "nicht verwenden kann
Yogesh Mali

@YogeshMali Ja, Sie können einfach die Funktion aufrufen, wie Sie gesagt haben, und dort dasselbe tun. Sie können sie trotzig an Ihre Anforderungen anpassen.
Pardeep Jain
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.