Ich muss eine Komponente erstellen, custom elements spec v0
die mit beiden Spezifikationen funktionieren muss, die veraltet sind, und der custom elements spec v1
neuesten stabilen Version.
Wenn ich Komponenten mit custom elements v0
Spezifikationen erstelle, treten bei einigen Apps Probleme auf, da sie polymer 2
und höher verwendet werden, und das gleiche Problem bei polymer 1
Anwendungen, die mit custom elements v1
Spezifikationen nicht funktionieren .
Ich habe keine Kontrolle über Anwendungen zum Ändern von Polyfills , einige Anwendungen müssen Polyfills verwenden, die alte Spezifikationen unterstützen, und einige verwenden neue Polyfills.
Ich suche nach einer soliden Lösung, um beide Spezifikationen zu kombinieren und meine benutzerdefinierten Elemente in allen Anwendungen unabhängig von der Polyfills-Version auszuführen. Ich kann meinen Komponenten ein beliebiges Stück Polyfill oder Snippet hinzufügen, damit sie überall ausgeführt werden können. Ich habe keine solche Bibliothek oder Polyfill gefunden, die beide Spezifikationen in meiner Forschung unterstützen.
Ich plane, einen Adapter zu schreiben, der beide Spezifikationen wie die unten erwähnte Zuordnung für angehängten Rückruf kombinieren kann. Eingaben zu diesem Gedanken werden sehr geschätzt.
connectedCallback(){
this.attachedCallback();
}
Ich habe versucht, Schablonen zu verwenden, aber es kann nur mit der neuesten Version der Spezifikation für benutzerdefinierte Elemente funktionieren. Ich habe keine Möglichkeit gefunden, es zu optimieren, damit es mit früheren Spezifikationen funktioniert.
Bitte schlagen Sie einige praktikable Alternativen und mögliche Lösungen für die oben genannte Situation vor.
quelle
Ich vermute, Sie wissen das
Custom Elements v0 is deprecated at M70, and will be removed in M80, by February, 2020.
.Was Sie tun können, ist, auf die
Can I use
Website zu gehen und die Browser-Support-Versionen zu überprüfen, um festzustellen, welcher Browser welche Version mit benutzerdefinierten Elementen laden soll ...Implementieren Sie anschließend das Folgende, um den Browser und die Version zu überprüfen und das richtige benutzerdefinierte Element für den gewünschten Browser entsprechend zu laden ( mehr hier ), wenn Sie keine externen Bibliotheken verwenden möchten.
Wenn Sie mit der Verwendung externer Bibliotheken einverstanden sind, versuchen Sie es mit Bowser , , um Version, Plattform usw. zu erkennen.
quelle