![How Does Prototypal Inheritance Work in AngularJS Scopes, and What are the Common Pitfalls?](https://img.php.cn/upload/article/000/000/000/173495905829575.jpg)
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!