原生模板与插槽
Template & slot
原生组件模板和插槽
Template
demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <template id="demo"> <p>测试</p> <slot name="default">默认文本</slot> <slot >文本</slot> <style type="text/css"> p { color: red } </style> </template>
<my-demo> <div slot="default">文本2</div> </my-demo> <my-demo> <div slot="default">文本3</div> <div >文本4</div> </my-demo>
|
| customElements.define( 'my-demo', class extends HTMLElement { constructor() { super() const tempContent = document.getElementById("demo").content;
const shadowRoot = this.attachShadow({ mode: 'open' }); shadowRoot.appendChild(tempContent.cloneNode(true)) } } )
|