Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 61 из 70 · 11 мин
Custom elements, template, slot и декларативный Shadow DOM: как создают переиспользуемые компоненты на чистом HTML.
Карточка товара повторяется 30 раз. Можно сделать свой тег <product-card>?
Можно! Только с дефисом в имени — так я пойму, что он твой, а не мой.
user-card, product-card — регистрируются скриптом.<product-card>Пенал</product-card>shadowrootmodetemplate: open или closed — превращает шаблон в изолированное содержимое элемента.<product-card>
<template shadowrootmode="open">
<p>Изолированная карточка</p>
</template>
</product-card>shadowrootdelegatesfocus<template shadowrootmode="open" shadowrootdelegatesfocus>…</template>shadowrootclonablecloneNode.<template shadowrootmode="open" shadowrootclonable>…</template>shadowrootserializablegetHTML().<template shadowrootmode="open" shadowrootserializable>…</template>shadowrootslotassignmentnamed — по атрибуту slot (по умолчанию), manual — скриптом.<template shadowrootmode="open" shadowrootslotassignment="manual">…</template>shadowrootcustomelementregistry<template shadowrootmode="open" shadowrootcustomelementregistry>…</template><slot>name, снаружи — атрибут slot.<product-card>
<template shadowrootmode="open">
<p>Товар: <slot name="title"></slot></p>
</template>
<span slot="title">Пенал</span>
</product-card>is<button is="like-button"> — встроенная кнопка с поведением.Карточка повторяется 30 раз. Создай свой элемент user-card (в имени обязательно дефис) с декларативным Shadow DOM: внутри template shadowrootmode="open" со slot name="name", а снаружи — span slot="name" с именем.
user-card — пока нетtemplate shadowrootmode="open" — пока нетslot name="name" — пока нетВыберите один ответ.
Какое имя подходит для пользовательского элемента?
Выберите один ответ.
Что делает элемент <slot> внутри Shadow DOM?
Проверяем состояние обучения…