Shadow DOM y slots en HTML
El componente es dueño de su marcado; la página, del contenido que va adentro.
<info-card>
<h3 slot="title">Ownership</h3>
<p>Each value has one owner at a time.</p>
</info-card>
<template id="card-template">
<article class="card">
<slot name="title"></slot>
<div class="body"><slot></slot></div>
</article>
</template>
<script>
customElements.define('info-card', class extends HTMLElement {
connectedCallback() {
const template = document.getElementById('card-template');
this.attachShadow({ mode: 'open' })
.append(template.content.cloneNode(true));
}
});
</script>
Cómo funciona
- Una raíz shadow esconde lo interno del CSS y las consultas de la página.
<slot>es el hueco donde caen los hijos propios de la página.- Un slot con nombre toma los elementos cuyo atributo
slotcoincide.
Palabras clave y builtins usados aquí
classconstdocumentextendsthis
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 489
- Tokens
- 131
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 98 segundos.
Paso 3 de 3 en Plantillas y componentes; paso 7 de 13 en HTML interactivo.