Ich habe eine Liste von Objekten, die ich mit einem *ngFor
auf der HTML-Seite anzeigen. Jetzt interagiert der Benutzer mit der Benutzeroberfläche und ändert einen der Grundwerte (Boolesch, von falsch bis wahr).* ngFor Verhalten auf primitiven Datentyp
Nach meinem Verständnis die *ngFor
wird nur die Änderungen rendern, wenn das Listenobjekt vollständig geändert, d. H. Entfernt und erneut zur Liste hinzugefügt. Wenn ich mit diesem Konzept recht habe, können Sie dann eine Methode vorschlagen, die die Änderung des primitiven Typs widerspiegelt, ohne die Komponente neu zu initialisieren oder die Objektreferenz zu ändern.
Beispiel:
<div *ngFor="let item of list">
<md-checkbox [(ngModel)]="item.selected"></md-checkbox>
</div>
Benutzer klickt auf das Kontrollkästchen, aber das Kontrollkästchen hat, nachdem bestimmte Validierungen von Server zu tickte. Nehmen wir an, das Kontrollkästchen muss deaktiviert sein und der Benutzer erhält eine Nachricht auf der Snackbar. Also gehe ich durch die Liste und ändere item.selected
auf false. Die Änderung wird jedoch nicht berücksichtigt, da ich den ausgewählten primitiven Typ (boolean) im Objektelement geändert habe. So, wie man den neuen Wert rendert, ohne die Seite neu zu laden oder zu initialisieren.
Bitte lassen Sie mich wissen, wenn mehr Eingabe erforderlich ist.
können Sie Rohr für diese erstellen, wird es Ihnen hilft. –
Können Sie bitte ein bisschen beschreibender sein? –
Sie können eine Pipe erstellen, die Sie Boolean Flag überprüfen, siehe dieses Beispiel http://StackOverflow.com/Questions/34164413/How-To-Apply-Filters-To-ngfür –