Was sind die Nuancen der Scope-Prototyp-/Prototyp-Vererbung in AngularJS?
Prototyp-Vererbung in JavaScript
- Prototypische Vererbung ist ein Mechanismus, bei dem eine Objekt erbt Eigenschaften von seinem Prototyp.
- In AngularJS erben Bereiche normalerweise prototypisch von ihren übergeordneten Bereichen.
Ausnahmen
- Anweisungen mit Gültigkeitsbereich: { ... } erstellen isolierte Bereiche, die nicht prototypisch sind von ihren Eltern erben.
Nuancen
Ausblenden von untergeordneten Scope-Eigenschaften
- Ändert sich normalerweise zu Die Eigenschaften des untergeordneten Bereichs wirken sich nicht auf die Eigenschaften des übergeordneten Bereichs aus.
- Beim Binden von bidirektionalen Daten an a primitiv im übergeordneten Bereich von einem untergeordneten Bereich erstellt der untergeordnete Bereich eine eigene Eigenschaft, die die gleichnamige übergeordnete Eigenschaft verbirgt.
Lösungen
- Verwenden Sie Objekte für Grundelemente im übergeordneten Bereich (z. B. parentObj.someProp).
- Verwenden Sie $parent.parentScopeProperty.
- Definieren Sie eine Funktion im übergeordneten Bereich und rufen Sie sie vom untergeordneten Bereich auf.
Ng -repeat
- Ng-repeat erstellt untergeordnete Bereiche und weist Elementwerte neuen Eigenschaften in diesen untergeordneten Bereichen zu.
- Die Bindung an Grundelemente in übergeordneten Bereichsarrays aus untergeordneten ng-repeat-Bereichen führt zu untergeordneten Bereichseigenschaften, die vom übergeordneten Array unabhängig sind.
- Um dies zu vermeiden, verwenden Sie ein Array von Objekten im übergeordneten Bereich und binden Sie es an Objekteigenschaften im ng-repeat.
Bereiche isolieren
Transkludiert Bereiche
- Erstellt durch Anweisungen mit transclude: true.
- Prototypisch von übergeordneten Bereichen erben.
- Geschwister zum Isolieren von Bereichen, wenn beide in einem vorhanden sind Direktive.
Zusammenfassung
- Die meisten Bereiche erben prototypisch von übergeordneten Bereichen.
- Es gibt Ausnahmen, z. B. isolierte Bereiche, die von erstellt wurden Richtlinien.
- Zu den Nuancen, die Sie beachten sollten, gehören das Ausblenden von untergeordneten Bereichseigenschaften und besondere Überlegungen für ng-repeat.
Das obige ist der detaillierte Inhalt vonWie funktioniert die prototypische Vererbung in AngularJS-Bereichen und was sind die häufigsten Fallstricke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn