2017-01-11 2 views

Antwort

2

Für Emulationen gibt es keine Leistungsvorteile. Es ist nur die Stilkapselung, die Stile automatisch bestimmten Komponenten zuordnet.

emuliert

Mit AoT des Stil Umschreiben bei der Erstellung erfolgt, sonst dauert es einige Zeit, zur Laufzeit zu analysieren und die Stile neu schreiben.

Die Stile werden dann zum Element hinzugefügt.

nativen Schatten DOM

Es gibt einige Leistungsvorteile, da der Browser in einigen Situationen wissen können, dass einige erforderliche Wieder machen lokal auf eine Komponente, die sonst ganze Seite neu machen verursachen könnte. Ich kenne kein konkretes Beispiel.

+0

Großartig! Jetzt kommen wir irgendwohin ... anstatt zu wählen, um die Frage zu schließen, wie es irgendein Idiot getan hat ... Ich sehe entwicklungsbasierte Vorteile für die Verkapselung von Stilen, aber Leistungsvorteile, die in den Dokumenten nicht zum Ausdruck kommen, wären ein Hauptgrund ein Arbeitsablauf mit welcher Methode die meisten Vorteile hat. – BenRacicot

+0

Emulation bietet keine Leistungsvorteile, und native wird nicht oft verwendet, da die Theming-Story zu schwach ist. Angular unterstützt keine CSS-Variablen und auch diese sind IMHO zu begrenzt. Auch die Perf-Vorteile sind nicht spezifisch für Angular, sondern für DOM. Es macht keinen Sinn, IMHO alle Browser-Dokumente in Angular zu wiederholen. –

1

Es ist schade, aber es gibt Leistungsprobleme mit emulierten Styles Encapsulation. Die Sache ist, Angular verwendet Attribute, um CSS-Regeln anzuwenden. Und die Verwendung von ihnen ist nicht effizient, besonders in der aktuellen Version von Edge.

Hier können Sie einige Benchmarks als Beweis sehen. https://medium.com/@andreygoncharov/edge-hates-you-attributes-d15faf162939

In 2017 sollten Sie vielleicht die Verwendung von Angular Styles Encapsulation vermeiden, wenn Sie große Projekte entwickeln.

Hier können Sie den Status des issue überprüfen.

Verwandte Themen