Ich verwende eine verschachtelte ng-Wiederholung und einen Filter für ein Objekt. Die erste ng-Wiederholung wird in die headerId eines gapHeader-Objekts gefiltert. Das zweite ng-repeat filtert gapSection, sectionId zur entsprechenden headerID.
Ich habe eine Bearbeitungsseite, die sich in einem eigenen modalen Fenster befindet. Der Zweck besteht darin, Inhalte zu bearbeiten, die der headerID & amp; sectionID des Unterobjekts) Dies hat auch ein separates Steuerelement. Daten werden über einen Dienst geteilt.
Mein Problem Ich habe eine Schaltfläche für jedes gapSection-Unterobjekt, das die modale Edit-Seite öffnet, wenn ich den $ index-Wert für den aktuellen Abschnitt innerhalb jedes Abschnitts an den Dienst übergebe, erhalte ich den $ index, der nur dem entspricht zweite ng-Wiederholung? Wenn ich zum Beispiel auf die Schaltfläche innerhalb der 2 ng-Wiederholung auf gapSection (headerId: 2, sectionId: 2) klicke, bekomme ich einen $ index von 1. Ich benötige einen $ index von 2, der der Position des Unterobjekts in gapSection entspricht .
Ist es möglich, den wahren $ Index zu übergeben, der dem $ Index entspricht, der im ursprünglichen ungefilterten Objekt von gapSection definiert wurde? Schätzen Sie alle Kommentare und danken Ihnen!
Objekt:
%Vor% Wenn Sie den wahren Index brauchen, müssen Sie nicht einmal die $index
-Eigenschaft übergeben, übergeben Sie einfach das Objekt und holen Sie sich den Index aus der ursprünglichen Liste.
d. h.
%Vor% Es ist auch nicht klar, dass Ihr Problem wirklich ein verschachteltes ng-repeat-Problem sein könnte, da GapSection laut Ihnen die innere ng-Wiederholung ist und Sie den Aufruf von inner ng-repeat und gapSection's
index aufrufen . Es sollte nur verfügbar sein, aber das Vorhandensein eines DOM-Filters wird nur die Elemente und seinen Index reorganisieren, die Sie auch erhalten, indem Sie eine ng-init
, dh in der Ansicht ng-init="actIndex=$index"
und actIndex
verwenden.
Wenn Sie versuchen, auf den übergeordneten ng-repeat-Index zuzugreifen, ist ng-init geeigneter als $ parent. $ index. Da ng-init speziell dafür entworfen wurde, würden Sie auf der übergeordneten ng-Wiederholung ng-init=""parentIndex=$index"
schreiben und parentIndex verwenden.
Tags und Links angularjs