HTMLSlotElement: assign()-Methode

Baseline 2023
Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die assign()-Methode der HTMLSlotElement-Schnittstelle setzt die manuell zugewiesenen Knoten des Slots auf eine geordnete Menge von Slottables. Die manuell zugewiesene Knotmenge ist zunächst leer, bis Knoten mit assign() zugewiesen werden.

Hinweis: Sie können manuelle (imperative) und benannte (deklarative, automatische) Slot-Zuweisungen nicht mischen. Daher muss für diese Methode der Schattenbaum mit der Option slotAssignment: "manual" erstellt worden sein.

Syntax

js
assign(node1)
assign(node1, node2)
assign(node1, node2, /* …, */ nodeN)

Parameter

node1, …, nodeN

Eine Menge von Element- oder Text-Knoten.

Rückgabewert

Keiner (undefined).

Ausnahmen

NotAllowedError DOMException

Wird ausgelöst, wenn diese Methode auf einem automatisch zugewiesenen Slot aufgerufen wird.

Beispiele

Im Beispiel unten wird die assign()-Methode verwendet, um die korrekte Registerkarte in einer Registerkartenanwendung anzuzeigen. Die Funktion wird aufgerufen und das Panel übergeben, das angezeigt werden soll. Dieses wird dann dem Slot zugewiesen.

js
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();
  }
}

Spezifikationen

Specification
HTML
# dom-slot-assign

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
assign

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch