给定以下 html 模板:
<div class="Page">
Hello <slot name="personName"></slot>. Your name is <slot name="personName"></slot>.
</div>
怎么可能(如果有的话)使用自定义元素用一个值填充两个插槽?
下面的演示代码将产生:
你好,鲍勃,你的名字是。
这是故意的吗?这是在模板的多个位置显示单个值的错误方式吗?
let tmpl = document.createElement("template");
tmpl.innerHTML = `
<div>
Hello <slot name="personName"></slot>. Your name is <slot name="personName"></slot>.
</div>
`;
class MyElement extends HTMLElement {
constructor() {
super();
let shadowRoot = this.attachShadow({ mode: "open" });
shadowRoot.appendChild(tmpl.content.cloneNode(true));
}
}
customElements.define("x-myelement", MyElement);
<x-myelement>
<span slot="personName">Bob</span>
</x-myelement>