ShadowRoot: Eigenschaft customElementRegistry
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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
| Specification |
|---|
| DOM> # dom-documentorshadowroot-customelementregistry> |