Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ShadowRoot: customElementRegistry-Eigenschaft

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Die schreibgeschützte Eigenschaft customElementRegistry der Schnittstelle ShadowRoot gibt das CustomElementRegistry-Objekt zurück, das diesem Shadow Root zugeordnet ist, oder null, wenn keines festgelegt wurde.

Die customElementRegistry eines Shadow Root bestimmt, welche Definitionen von benutzerdefinierten Elementen zum Upgraden von Elementen innerhalb dieses Shadow Tree verwendet werden. Sie kann beim Erstellen des Shadow Root über die Option customElementRegistry von Element.attachShadow() oder später mit CustomElementRegistry.initialize() festgelegt werden. Sobald sie auf ein CustomElementRegistry-Objekt gesetzt wurde, kann sie nicht mehr geändert werden.

Diese Eigenschaft ist auch für Document-Objekte unter demselben Eigenschaftsnamen customElementRegistry verfügbar.

Wert

Ein CustomElementRegistry-Objekt oder null.

Beispiele

Festlegen einer bereichsspezifischen Registry für einen Shadow Root

Dieses Beispiel erstellt eine bereichsspezifische Registry mit einer benutzerdefinierten Elementdefinition und übergibt sie an Element.attachShadow(). Die Eigenschaft customElementRegistry des resultierenden Shadow Root spiegelt die bereichsspezifische Registry wider.

js
const myRegistry = new CustomElementRegistry();
myRegistry.define(
  "my-element",
  class extends HTMLElement {
    connectedCallback() {
      this.textContent = "Hello from scoped registry!";
    }
  },
);

const host = document.createElement("div");
document.body.appendChild(host);

const shadow = host.attachShadow({
  mode: "open",
  customElementRegistry: myRegistry,
});

shadow.innerHTML = "<my-element></my-element>";

console.log(shadow.customElementRegistry === myRegistry); // true
console.log(shadow.querySelector("my-element").textContent);
// "Hello from scoped registry!"

Spezifikationen

Spezifikation
DOM
# dom-documentorshadowroot-customelementregistry

Browser-Kompatibilität

Siehe auch