Element: customElementRegistry-Eigenschaft
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die customElementRegistry-Schreibgeschützte Eigenschaft des Element-Interfaces gibt das CustomElementRegistry-Objekt zurück, das mit diesem Element verknüpft ist, oder null, wenn keines festgelegt wurde.
Ein customElementRegistry eines Elements wird beim Erstellen des Elements festgelegt (zum Beispiel über Document.createElement() mit der customElementRegistry-Option, oder wenn es in einem Kontext geparst wird, der ein scoped registry hat). Einmal auf ein CustomElementRegistry-Objekt gesetzt, kann es nicht mehr geändert werden. Das Registry bestimmt, welche benutzerdefinierten Element- Definitionen verwendet werden, wenn das Element aktualisiert wird.
Wert
Ein CustomElementRegistry-Objekt oder null.
Beispiele
>Zugriff auf das customElementRegistry eines Elements
Dieses Beispiel erstellt ein scoped registry, verbindet es mit einem Shadow-Root und liest dann die customElementRegistry-Eigenschaft von einem Element im Shadow-Baum, um zu bestätigen, dass es mit dem scoped registry übereinstimmt.
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>";
const el = shadow.querySelector("my-element");
console.log(el.customElementRegistry === myRegistry); // true
Spezifikationen
| Specification |
|---|
| DOM> # dom-element-customelementregistry> |