2016-04-22 80 views
3

我認爲shadow DOM讓我們可以實現樣式封裝並隱藏組件的HTML實現。Shadow DOM讓我們實現了什麼?

但是,當我檢查鉻的陰影根,我可以看到組件的HTML。 enter image description here

那麼究竟是什麼幫助我們實現?它只是樣式封裝嗎?

+0

可能重複的[需要幫助瞭解Shadow DOM](http://stackoverflow.com/questions/36656667/need-help-understand-shadow-dom) – TylerH

+0

另請參閱http://stackoverflow.com/questions/33452347/shadow-dom-aim-of-using-it – TylerH

回答

4

當然,DevTools允許您調查陰影DOM,但是如果您獲得HTML的index.htmlquerySelector('body').innerHTML元素的陰影DOM不包括在內。

您明確需要切換到自定義元素的陰影DOM以訪問該HTML。

Shadow DOM並不是關於從其他開發人員隱藏您的元素實現,而是從CSS,JS或其他可能意外讀取或操作它的手段隱藏它。

這允許將整個應用程序的DOM的複雜性分解爲更易於管理的較小部分。

+1

'Chrome開發工具>設置>首選項>元素>顯示用戶代理陰影DOM'(檢查) –

+0

用戶創建的陰影DOM(由使用聚合物構建的組件創建)可以通過默認在DevTools中。 「顯示用戶代理shadow DOM」僅適用於本地元素,如