这里所说的Web组件指的是一套用于增强DOM行为的工具,包括影子DOM、自定义元素和HTML模板。

20.11.1 HTML模板

在Web组件之前,一直缺少基于HTML解析构建DOM子树,然后在需要时再把这个子树渲染出来的机制。
一种间接方案是使用innerHTML把标记字符串转换为DOM元素,但这种方式存在严重的安全隐患。
另一种间接方案是使用document.createElement()构建每个元素,然后逐个把它们添加到孤儿根节点(不是添加到DOM),但这样做特别麻烦,完全与标记无关。
相反,更好的方式是:提前在页面中写出特殊标记,让浏览器自动将其解析为DOM子树,但跳过渲染。
这正是HTML模板的核心思想,而