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.
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> |