Erhalte alle untergeordneten Bereiche in Angularjs mit dem übergeordneten Bereich
Ich würde gerne wissen, wie man eine Liste aller untergeordneten Bereiche gegeben, einen übergeordneten Bereich. Alle die ich finden kann aus den Eigenschaften des Anwendungsbereichs $$childHead, $$childTail, $$nextSibling und $$prevSibling.
Den Ansatz, den ich jetzt verwende ist, um die childHead von der Mutter und dann mit der nextSibling, um das nächste Kind, bis nextSibling den Wert null.
Gibt es einen besseren Ansatz?
Da möchte ich eine Methode aufrufen [getModel] auf alle Kinder, gibt es wieder einen besseren Weg, dies zu tun?
Kommentar zu dem Problem
sollten Sie nicht benötigen Zugriff auf untergeordnete Bereiche. Auch wenn Sie änderungen vornehmen möchten, um untergeordnete Bereiche wenn die Dinge zu ändern, die in den übergeordneten Bereich sollten Sie nicht direkt auf Sie zugreifen können. Wenn Sie ein konkreteres Beispiel, was Sie zu erreichen versuchen, werden Sie wahrscheinlich eine bessere Antwort.
Hi @ganaraj, was ich bin mit Richtlinien und einer Richtlinie den Verweis auf einen anderen in einer Eltern-Kind irgendwie Weg. Das Kind Richtlinien sind mit isolierten Bereiche und haben Ihre eigenen Werte, die nicht sichtbar sind, von den Eltern. Ich möchte den Zugriff auf diese Werte von den übergeordneten Bereich.
Was ist das Letzte Ziel dieses Verfahrens?
Ich habe eine Reihe von Richtlinien, und jedes ist mit isolierten Bereich und hat eine Eigenschaft mit dem Namen 'model'. Angesichts der Elternteil, möchte ich, um jedes Kind-Bereich und rufen Sie dann die getModel () - Methode auf. Ich habe es jetzt funktioniert. Ich bin nur daran interessiert, andere oder bessere Möglichkeiten, das gleiche zu tun.
InformationsquelleAutor der Frage ritcoder | 2012-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den 'Winkel-Weg", um sich mit dem Thema der "übergeordneten Bereichen benötigen den Zugriff auf untergeordnete Bereiche" Bewegung ist das Modell bis in die übergeordneten und die untergeordneten Bereiche Verweis auf die parent-Eigenschaften/Daten (eher als die untergeordneten Bereiche haben Ihre eigenen lokalen Eigenschaften/Kopien). E. g., dies ist, wie wir umgehen mit ng-repeat, wenn jede iteration enthält, sagen wir, ein Eingabe-Formular-element (D. H., in jeder iteration muss zwei-Wege-Datenbindung): Schwierigkeiten mit ng-model, ng-repeat, und die Eingänge
Richtlinien, definieren Sie zuerst ein array von Objekten im übergeordneten Bereich, dann haben in jedem Einzelfall Kind-scope-Zugang, der übergeordneten Bereich array (oder die Person, Objekt) Verwendung des ' = ' - notation (dh, zwei-Wege-Datenbindung-notation). Da ein Objekt freigegeben wird, die isolierten Bereiche verweisen auf die übergeordneten Objekte (Sie werden nicht erhalten Sie eine lokale Kopie). Nun, alle änderungen, die Sie machen, um die untergeordneten Bereiche Eigenschaften sind eigentlich die änderung der übergeordneten Bereich Eigenschaften.
InformationsquelleAutor der Antwort Mark Rajcok
Alle Eckigen Rahmen, befestigt sind, um DOM-element, Sie können beginnen, durch Einsicht Kind mit dem aktuellen element nach unten, was auch immer Kind, die Sie erreichen möchten. Dort angekommen, verwenden Sie die folgende Funktion, um den Umfang.
InformationsquelleAutor der Antwort wajatimur
In AngularJS 1.3.2, ein
countChildScopes
Methode wurde Hinzugefügt, um die ngMock Modul:Verwenden Sie ein Objekt als Rückgabewert, um die IDs:
Referenzen
AngularJS Changelog: 1.3.2
ngMock: $rootScope.Scope.$countChildScopes
InformationsquelleAutor der Antwort Paul Sweatte