Ich habe eine Tabelle mit einigen Beispieldaten. Ich habe eine Schaltfläche, mit der ich in der Tabellenzeile verwenden möchte, die die gesamte Tabellenzeile entfernt, wenn auf sie geklickt wird. Problem ist, was ich oben programmiert habe, wird den Inhalt von der Tabellenreihe entfernen und die Knopf- und Tabellenreihe lassen. Oder es wird die letzte Tabellenzeile entfernt, nicht die Zeile, auf die geklickt wurde.
Hier ist was ich habe:
Controller:
%Vor%html
%Vor% Sie können $index
in der Vorlage verwenden, um den Index des Produkt-Arrays zu erhalten.
Dann in der Steuerung, tun Sie etwas wie folgt:
%Vor%Die zwei Antworten, die Sie erhalten haben, sind korrekt, zumindest für die Szenarien, die sie beschreiben.
Aber ich habe Probleme mit diesen Implementierungen erlebt. Dies liegt daran, dass angular die Zeilennummer der anderen Elemente beim Löschen einer Zeile nicht aktualisiert, wenn Sie ng-init="rowIndex = $index"
verwenden. Ich benutze es, weil der Löschen-Button in einer inneren ng-repeat-Schleife war. Wenn Sie also Zeile 0 entfernen, sollte Zeile 1 zu Zeile 0 werden, wird aber stattdessen als Zeile 1 beibehalten. Wenn Sie also versuchen, Zeile 0 zu entfernen, löschen Sie tatsächlich Zeile 1. Sie können dies mit track by $index
auf Ihrem ng- wiederhole Direktive.
Tags und Links angularjs