A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/ru/docs/Web/API/Web_components below:

Веб-компоненты - Интерфейсы веб API

Веб-компоненты

Веб-компоненты - это набор различных технологий, позволяющих создавать повторно используемые настраиваемые элементы с их функциональностью, инкапсулированной отдельно от остальной части вашего кода - и использовать их в ваших веб-приложениях.

Понятия и использование

Как разработчики, все мы знаем, что как можно больше повторного использования кода - хорошая идея. Традиционно это было не так просто для пользовательских структур разметки - подумайте о сложном HTML (и связанном с ним стиле и сценарии), которые вам иногда приходилось писать для визуализации пользовательских элементов управления UI, и о том, как их многократное использование может превратить вашу страницу в беспорядок если вы не будете осторожны.

Веб-компоненты направлены на решение таких проблем - они состоят из трёх основных технологий, которые можно использовать вместе для создания универсальных настраиваемых элементов с инкапсулированной функциональностью, которые можно повторно использовать где угодно, не опасаясь коллизий кода.

Базовый подход к реализации веб-компонента обычно выглядит примерно так:

  1. Создайте класс, в котором вы указываете функциональность своего веб-компонента, используя синтаксис классов ECMAScript 2015 (дополнительную информацию см. в разделе Классы).
  2. Зарегистрируйте свой новый настраиваемый элемент с помощью метода CustomElementRegistry.define(), передав ему имя элемента, который будет определён, класс или функцию, в которых указана его функциональность, и, необязательно, от какого элемента он наследуется.
  3. При необходимости прикрепите теневую DOM к настраиваемому элементу с помощью метода Element.attachShadow(). Добавьте дочерние элементы, обработчики событий и т.д. в теневой DOM, используя обычные методы DOM.
  4. При необходимости определите HTML template, используя <template> и <slot>. Снова используйте обычные методы DOM, чтобы клонировать шаблон и прикрепить его к вашей теневой DOM.
  5. Используйте свой настраиваемый элемент везде, где хотите, на своей странице, как и любой обычный элемент HTML.
Учебники
Использование пользовательских элементов

Руководство, показывающее, как использовать функции настраиваемых элементов для создания простых веб-компонентов, а также рассказывает про колбэки жизненного цикла и некоторые другие более сложные функции.

Использование shadow DOM

Руководство, которое рассматривает основы теневой DOM, показывает, как прикрепить теневую DOM к элементу, добавлять к теневому дереву DOM, стилизовать его и многое другое.

Использование шаблонов и слотов

Руководство, показывающее, как определить повторно используемую структуру HTML с помощью элементов <template> и <slot>, а затем использовать эту структуру внутри ваших веб-компонентов.

Справка Пользовательские элементы
CustomElementRegistry

Содержит функции, связанные с настраиваемыми элементами, в первую очередь с методом CustomElementRegistry.define(), используемым для регистрации новых настраиваемых элементов, чтобы их можно было затем использовать в вашем документе.

Window.customElements

Возвращает ссылку на объект CustomElementRegistry.

Обратные вызовы жизненного цикла

Специальные колбэк-функции, определённые внутри определения класса настраиваемого элемента, которые влияют на его поведение:

Расширения для создания пользовательских встроенных элементов
Псевдоклассы CSS

Псевдоклассы, относящиеся конкретно к настраиваемым элементам:

Псевдоэлементы CSS

Псевдоэлементы, относящиеся конкретно к настраиваемым элементам:

Shadow DOM
ShadowRoot

Представляет корневой узел поддерева теневой модели DOM.

DocumentOrShadowRoot

Миксин, определяющий функции, доступные для всех документов и теневых корневых узлов.

Расширения Element

Расширения интерфейса Element, связанные с теневой DOM:

Соответствующие дополнения Node

Дополнения к интерфейсу Node, относящиеся к теневой DOM:

Расширения Event

Расширения интерфейса Event, относящиеся к теневой модели DOM:

HTML templates
<template>

Содержит фрагмент HTML, который не отображается при первоначальной загрузке содержащего документа, но может отображаться во время выполнения с помощью JavaScript, который в основном используется в качестве основы для структур настраиваемых элементов. Связанный интерфейс DOM - HTMLTemplateElement.

<slot>

Заполнитель внутри веб-компонента, который можно заполнить собственной разметкой, что позволяет создавать отдельные деревья DOM и представлять их вместе. Связанный интерфейс DOM - HTMLSlotElement.

Глобальный HTML атрибут slot

Назначает слот элементу в теневом дереве теневого DOM.

Slotable

Миксин, реализованный как узлами Element, так и Text, определяющий функции, которые позволяют им стать содержимым элемента <slot>. Миксин определяет один атрибут, Slotable.assignedSlot, который возвращает ссылку на слот, в который вставлен узел.

Element extensions

Расширения интерфейса Element, относящиеся к слотам:

Псевдоэлементы CSS

Псевдоэлементы, относящиеся конкретно к слотам:

Событие slotchange

Вызывается для экземпляра HTMLSlotElement (элемент <slot>) при изменении узла(-ов), содержащихся в этом слоте.

Примеры

Мы создаём ряд примеров в репозитории GitHub с примерами веб-компонентов. Со временем будет добавлено больше.

Спецификации Совместимость с браузерами html.elements.template api.ShadowRoot Смотрите также

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4