前端知库

Custom Elements、Shadow DOM 和 template 分别负责什么?

参考答案

Custom Elements 定义可复用的自定义元素及生命周期;Shadow DOM 提供组件内部 DOM 和样式的封装边界;template 保存尚未直接渲染的片段,slot 用于内容分发。这些技术可以组合,也可以分别使用。

Shadow DOM 不等于安全沙箱,closed 模式也不能被当作保护秘密的手段。样式继承、自定义属性、事件重定向和 composed 路径仍需要按规则理解。

设计跨框架组件时,要明确属性与 property 的转换、事件契约、表单协作和无障碍语义。浏览器原生能力能减少部分框架耦合,但不会自动解决版本管理、数据流和服务端渲染等全部工程问题。