Wie erkennen wir, ob mit der API v0 oder v1 ein Schattenstamm erstellt wurde?

Angenommen, ein JS-Modul exportiertshadowRoot welches mit entweder @ erstellt wurel.createShadowRoot oderel.attachShadow (wir wissen nicht welche). Wie erkennen wir, ob die Wurzel eine v0-Schattenwurzel oder eine v1-Schattenwurzel ist (d. H. Wie erkennen wir, welche Methode zum Erstellen der Wurzel verwendet wurde)?

f.e., Was würde ich in die folgenden bedingten Anweisungen eintragen?

// for argument's sake, we don't create the root, we only get a reference
// to it:
import shadowRoot from 'somewhere'

function getShadowRootVersion(root) {
    if ( ... )
        return 'v0'

    if ( ... )
        return 'v1'
}

console.log(getShadowRootVersion(shadowRoot)) // should output "v0" or "v1".

Mehr Info

Wir möchten herausfinden, ob aus @ ein Schattenstamm erstellt wurdcreateShadowRoot oder vonattachShadow. Die resultierenden Wurzeln sind unterschiedlich: in der mit @ erstellten WurzcreateShadowRoot, <content> -Elemente werden zum Verteilen von Elementen verwendet. In mit @ erstellten WurzeattachShadow, <content> Elemente tun nichts und<slot>tattdessen werden @ -Elemente verwendet. Wie erkennen wir, welche Methode zum Erstellen einer Wurzel verwendet wurde (d. H. Ob wir eine Wurzel v0 oder eine Wurzel v1 haben)?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage