HTMLSlotElement: метод assign()
Базовая 2023
Новое
С марта 2023 года эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или браузерах.
Метод assign() интерфейса HTMLSlotElement устанавливает явно назначенные узлы слота в упорядоченный набор slottables. Набор явно назначенных узлов изначально пуст, пока узлы не будут назначены с помощью assign().
Примечание: Вы не можете смешивать явное (императивное) и именованное (декларативное, автоматическое) назначение слотов. Поэтому для работы этого метода, дерево тени должно быть создано с опцией slotAssignment: "manual".
Синтаксис
assign(node1) assign(node1, node2) assign(node1, node2, /* …, */ nodeN)
Параметры
Возвращаемое значение
None (undefined).
Исключения
-
NotAllowedErrorDOMException -
Выбрасывается при вызове этого метода для автоматически назначенного слота.
Примеры
В примере ниже, метод assign() используется для отображения правильной вкладки в приложении с вкладками. Функция вызывается и получает в качестве параметра панель для отображения, которая затем назначается слоту.
function UpdateDisplayTab(elem, tabIdx) {
const shadow = elem.shadowRoot;
const slot = shadow.querySelector("slot");
const panels = elem.querySelectorAll("tab-panel");
if (panels.length && tabIdx && tabIdx <= panels.length) {
slot.assign(panels[tabIdx - 1]);
} else {
slot.assign();
}
}
Спецификации
| Спецификация |
|---|
| HTML # dom-slot-assign |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
assign |
86 | 86 | 92 | 72 | 16.4 | 86 | 92 | 61 | 16.4 | 14.0 | 86 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assign