javascript - titel - Wie überprüfe ich, ob der Bereich isoliert ist?




title-tag (2)

Der erste Unterschied, den ich kenne, ist, dass der isolierte Bereich das Feld "$ root" hat, also rootScope .

Der zweite Unterschied besteht darin, dass der Isolated-Bereich das Feld "$$ isolateBindings" enthält, nicht jedoch nicht isolated

Ist es irgendwie möglich, zu überprüfen, ob der Winkelbereich isoliert ist oder nicht und nur der Bereich?

Ich weiß, dass isolierte und nicht isolierte Bereiche unterschiedliche Prototypen haben. Diese Prototypen sind jedoch in eckiger Form und nicht leicht zugänglich. Die Überprüfung des Prototypnamens scheint ziemlich dreckig zu sein.

Irgendeine bessere Idee?


Laut der Dokumentation sollte Folgendes der Fall sein:

$element.isolateScope()

ruft einen Isolate-Bereich ab, wenn einer direkt an das aktuelle Element angehängt ist. Dieser Getter sollte nur für Elemente verwendet werden, die eine Direktive enthalten, die einen neuen Isolate-Bereich startet. Das Aufrufen von scope () für dieses Element gibt immer den ursprünglichen nicht isolierenden Gültigkeitsbereich zurück. Erfordert die Aktivierung von Debug-Daten.

https://docs.angularjs.org/api/ng/function/angular.element#jquery-jqlite-extras

Wie in den Dokumenten erwähnt, wenn Sie Folgendes konfigurieren (wie es in der Produktion erforderlich ist):

$compileProvider.debugInfoEnabled(false);

Diese Methode wird nicht mehr funktionieren ... Ich nehme an, der Hauptgrund, um das isolateScope diese Weise zu erhalten, ist für isolateScope und es gibt nicht wirklich einen Grund, bestimmte Maßnahmen zur Isolation des isolateScope bedingt durchzuführen (korrigiere mich, wenn ich falsch isolateScope ).

https://jsfiddle.net/r0m4n/f84yzdt4/







angularjs-scope