2016-04-22 7 views
3

私は、シャドーDOMはスタイルのカプセル化を達成し、コンポーネントのHTML実装を隠すことができると思います。Shadow DOMは私たちに何を実現させましたか?

しかし、私がクロムのシャドールートを調べると、コンポーネントのHTMLが見えます。 enter image description here

それでは、達成するのに正確には何が役立ちますか?スタイルカプセル化だけですか?

+0

[シャドーDOMを理解するのに役立つ必要があります](http://stackoverflow.com/questions/36656667/need-help-understand-shadowdom) – TylerH

+0

の複製が可能です。http://stackoverflow.com/questions/33452347も参照してください。/shadow-dom-aim-of-it- – TylerH

答えて

4

確かに、DevToolsではシャドウDOMを調べることができますが、index.htmlquerySelector('body').innerHTMLのHTMLを取得した場合、要素のシャドウDOMは含まれません。

カスタム要素のシャドウDOMに切り替えて、そのHTMLにアクセスする必要があります。

シャドーDOMは、他の開発者から要素の実装を隠すことではなく、誤ってCSSやJSなどの要素を読み込んだり操作したりする可能性があります。

これにより、アプリケーション全体のDOMの複雑さを、より管理しやすい小さな部分に分解することができます。

+1

'Chrome Dev Tools>設定>環境設定>要素>ユーザーエージェントシャドウDOMの表示(チェック) –

+0

ユーザーが作成したシャドーDOM(Polymerを使用して作成したコンポーネントで作成)はDevToolsのデフォルト。 "ユーザーエージェントシャドウDOMの表示"は、

関連する問題