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