2016-04-22 77 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”仅适用于本地元素,如