2016-07-16 33 views
4

Die AngularJS 2 hat die Fähigkeit, Schatten DOM native zu verwenden, die Teil von Web-Komponenten ist, wenn encapsulation: ViewEncapsulation.Native Einstellung wie ich sie verstehe ...AngularJS 2 und WebComponents, emuliert und polyfills

Aber das geben einige Fragen:

  • Wenn encapsulation: ViewEncapsulation.Native wird es Fallback zu ViewEncapsulation.Emulated, wenn der Browser Shadow DOM nicht unterstützt?
  • Kann es die webcomponents polyfill verwenden, wenn der Browser Shadow DOM nicht unterstützt und auf encapsulation: ViewEncapsulation.Native gesetzt ist?

Antwort

6

Es gibt keinen Rückfall von ViewEncapsulation.Native zu ViewEncapsulation.Emulated, wenn der Browser nicht nativen Schatten DOM unterstützt. Dies führt zu Laufzeitfehlern.

Wenn Sie Native verwenden möchten, können Sie die webcomponents polyfills laden und Shadow-DOM wie in Global Polymer settings gezeigt aktivieren.

+0

Muss ich Polymer laden, um die webcomponents polyfill zu verwenden? –

+1

Nein, die Polyfills sind eine unabhängige Bibliothek. Sie sollten sich darüber im Klaren sein, dass Angular2 noch keine gute Geschichte für das Styling von nativen Schatten-DOMs (Themes) hat, wie zum Beispiel CSS-Variablen und Mixins in Polymer. –