【发布时间】:2017-07-27 11:42:39
【问题描述】:
如果我理解正确,创建 Web 组件的实例可以概括为创建影子根并复制标记,例如从模板到其中:
var Template = document.querySelector('#myTemplate');
var TemplateClone = document.importNode(Template.content,true);
TargetElement.appendChild(TemplateClone);
当然,如果模板在样式标签中包含 css 规则,这些规则也会被复制。因此,我们可以拥有属于 Web 组件内部标记的范围样式。
问题:
- 当我创建大量的 同一个 Web 组件的实例,因为样式只是 复制而不重复使用?
- 有没有办法跨多个实例共享样式节点 相同的网络组件?
【问题讨论】:
-
刚刚更新了答案以反映为影子 DOM 声明样式表的新方法:stackoverflow.com/a/40984891/5723098
标签: html web-component shadow-dom html-imports html5-template