Ich habe ng-repeat
ed Daten und versuche, nur diejenigen zu erhalten, die der Benutzer ausgewählt hat. Ich bin mir nicht sicher, wie es geht, das ist was ich habe:
HTML:
%Vor%JS:
%Vor% Ich habe es auf eine Art funktionieren lassen - indem ich jedem Objekt eine isSelected:false
-Eigenschaft hinzufüge und das ng-model
des Kontrollkästchens auf record.isSelected
ändere, kann ich danach in der ShowSelected
-Funktion filtern. Dies scheint jedoch ineffizient zu sein. Ich möchte dem Modell keine zusätzlichen Eigenschaften hinzufügen, wenn dies vermieden werden kann.
Gibt es einen besseren Weg?
Ich glaube, der beste Weg wäre, die Eigenschaft 'isSelected' zu Ihrem Datensatz hinzuzufügen und an diesen Wert zu binden. Etwas wie das:
%Vor%Eine andere Sache, die Sie tun können (besonders, wenn Sie diese zusätzliche Eigenschaft nicht zum Datensatz hinzufügen können, wäre, ein Array ausgewählter Elemente beizubehalten und sie aus dem ausgewählten Array hinzuzufügen / zu entfernen, wenn der Benutzer die Auswahl trifft:
%Vor%Die recordSelected-Funktion wird in Ihrem Controller behandelt, um hinzuzufügen / zu entfernen und von der ausgewählten Datensatzliste aufzunehmen.
PS: Ich habe eine negative Datensatz-ID verwendet, um anzuzeigen, dass der Datensatz nicht ausgewählt wurde.
Tags und Links javascript angularjs