Entferne die ganze Zeile angularjs der Tabelle

7

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%     
Troy Bryant 22.12.2014, 19:46
quelle

3 Antworten

20

Sie können $index in der Vorlage verwenden, um den Index des Produkt-Arrays zu erhalten.

%Vor%

Dann in der Steuerung, tun Sie etwas wie folgt:

%Vor%     
reptilicus 22.12.2014, 19:53
quelle
3

Sehen Sie sich diese mögliche Lösung / korrekte Syntax / Strategie für Ihr Problem an: Ссылка

Sie könnten erwägen, den Produkt-Index aus der ng-Wiederholung zu holen, dies würde Ihren Code viel einfacher machen und funktionieren:

%Vor%     
wbeange 22.12.2014 19:52
quelle
1

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.

%Vor%     
Danielo515 25.10.2015 19:06
quelle

Tags und Links