Containerelement bei Verwendung der Knockout-Komponente ersetzen

Gibt es eine Möglichkeit, ein @ zu konfiguriereKnockout component zuersetze das Containerelement, anstatt seinen Inhalt im Containerelement zu verschachteln?

Zum Beispiel, wenn ich eine benutzerdefinierte Komponente als @ registriert hamy-custom-element mit folgender Vorlage:

<tr>
    <p>Hello world!</p>
</tr>

Ist es möglich, die Komponente wie folgt zu verwenden:

<table>
    <tbody>
        <my-custom-element></my-custom-element>
    </tbody>
</table>

Und das Endprodukt lautet:

<table>
    <tbody>
        <tr>
            <p>Hello world!</p>
        </tr>
    </tbody>
</table>

Anstelle dessen: (wie Knockout Komponenten standardmäßig rendert)

<table>
    <tbody>
        <my-custom-element>
            <tr>
                <p>Hello world!</p>
            </tr>
        </my-custom-element>
    </tbody>
</table>

Basierend auf der Antwort auf diese Frage, es scheint, dass diese Funktionalität in die Templating-Engine integriert ist, von der ich annehme, dass sie auch beim Rendern von Komponentenvorlagen verwendet wird.

Gibt es eine Möglichkeit anzugeben, dass eine Komponente mit einem @ gerendert werden solrenderMode vonreplaceNode?

Mir ist die Syntax "Virtuelles Element" bekannt, mit der Komponenten in einem HTML-Kommentar definiert werden können:

<table>
    <tbody>
        <!--ko component { name: 'my-custom-element' }--><!--/ko-->
    </tbody>
</table>

Aber ich mag diese Syntax wirklich nicht - das Schreiben von echtem Code in einen Kommentar fühlt sich wie ein schmutziger, schmutziger Hack an.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage