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: Eigenschaft customElementRegistry

Eingeschränkt verfügbar

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

Want more support for this feature? Tell us why.

Die customElementRegistry-Eigenschaft des ShadowRoot-Interfaces gibt das CustomElementRegistry-Objekt zurück, das diesem Shadow Root zugeordnet ist, oder null, falls keines gesetzt wurde.

Die customElementRegistry eines Shadow Roots bestimmt, welche Custom-Element-Definitionen verwendet werden, um Elemente innerhalb dieses Shadow Trees zu aktualisieren. Sie kann gesetzt werden, wenn der Shadow Root über die customElementRegistry-Option von Element.attachShadow() erstellt wird, oder später durch Nutzung von CustomElementRegistry.initialize(). Sobald sie auf ein CustomElementRegistry-Objekt gesetzt ist, kann sie nicht mehr geändert werden.

Diese Eigenschaft ist auch auf Document-Objekten unter demselben Eigenschaftsnamen customElementRegistry verfügbar.

Wert

Ein CustomElementRegistry-Objekt oder null.

Beispiele

Einrichten eines Scoped-Registers auf einem Shadow Root

Dieses Beispiel erstellt ein Scoped-Register mit einer benutzerdefinierten Elementdefinition und übergibt es an Element.attachShadow(). Die customElementRegistry-Eigenschaft auf dem resultierenden Shadow Root spiegelt das Scoped-Register 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