Ich bin neu bei Webkomponenten. Da v1 der webcomponents verfügbar ist, fange ich dort an. Ich habe verschiedene Beiträge im Internet gelesen. Ich bin besonders daran interessiert, sie richtig zu komponieren. Ich habe über Slots gelesen und lasse sie funktionieren, obwohl meine Bemühungen nicht zu geschlitzten Webkomponenten geführt haben, die so funktionieren, wie ich es erwartet habe.Composing v1 verschachtelte Web-Komponenten
Wenn ich Komponenten verschachtelte Web wie diese haben zu komponieren, das DOM aus dem verschachtelten/geschlitzten webcomponent nicht in den Schlitz des Mutter eingeführt bekommt:
<parent-component>
<child-component slot="child"></child-component>
</parent-component>
Und hier ist die Mutter webcomponent HTML:
<div id="civ">
<style>
</style>
<slot id="slot1" name="child"></slot>
</div>
Da jeder webcomponent (Eltern und Kind) geschrieben wird, unabhängig zu sein, habe ich sie mit der Erstellung:
customElements.define('component-name', class extends HTMLElement {
constructor() {
super();
this.shadowRoot = this.attachShadow({mode: 'open'});
this.shadowRoot.innterHTML = `HTML markup`
}
})
Die resultierende DOM enthält zwei Schatten Wurzeln. Ich habe versucht, child/slotted Elemente ohne Schatten dom zu schreiben, die auch nicht zum übergeordneten Schatten dom führt, der die Kinder bewirtet.
Also, was ist der richtige Weg, um v1 verschachtelte Webkomponenten zu komponieren?