Muszę zbudować komponent, który powinien działać z obiema specyfikacjami, custom elements spec v0
które stały się przestarzałe i custom elements spec v1
najnowszą stabilną wersją.
Jeśli skompiluję komponenty ze custom elements v0
specyfikacją, niektóre aplikacje napotkają problemy, ponieważ używają polymer 2
i powyżej, i ten sam problem z polymer 1
aplikacjami, które nie będą działać ze custom elements v1
specyfikacją.
Nie mam kontroli nad aplikacjami, aby zmieniać wielopełniacze , niektóre aplikacje muszą używać wieloskładników obsługujących stare specyfikacje, a niektóre używają nowych wieloskładników.
Szukam solidnego rozwiązania, które pozwoliłoby połączyć obie specyfikacje, aby uruchomić moje niestandardowe elementy we wszystkich aplikacjach, niezależnie od wersji wielopełniacza. Mogę dodać dowolny fragment polifillu lub fragmentu kodu do moich komponentów, aby mogły one działać w dowolnym miejscu, nie znalazłem żadnej takiej biblioteki lub polifillu, które obsługiwałyby obie specyfikacje w moich badaniach.
Planuję napisać adapter, który może łączyć obie specyfikacje, takie jak mapowanie wspomniane poniżej dla dołączonego wywołania zwrotnego, opinie na temat tej myśli będą bardzo mile widziane.
connectedCallback(){
this.attachedCallback();
}
Próbowałem użyć stenciljs, ale może działać tylko z najnowszą wersją specyfikacji elementów niestandardowych. Nie znalazłem żadnego sposobu na ulepszenie go, aby działał z wcześniejszą specyfikacją.
Proszę zasugerować realne alternatywy i możliwe rozwiązania wyżej wymienionej sytuacji.
źródło
Podejrzewam, że wiesz o tym
Custom Elements v0 is deprecated at M70, and will be removed in M80, by February, 2020.
.Możesz przejść do
Can I use
strony internetowej i sprawdzić wersje obsługi przeglądarki, aby zobaczyć, która przeglądarka powinna załadować, która wersja elementów niestandardowych ...Następnie zaimplementuj poniżej, aby sprawdzić przeglądarkę i wersję, i odpowiednio załaduj odpowiedni element niestandardowy dla żądanej przeglądarki ( więcej tutaj ), jeśli nie chcesz używać bibliotek zewnętrznych.
Jeśli nie masz nic przeciwko korzystaniu z bibliotek zewnętrznych, wypróbuj Bowser w celu wykrycia wersji, platformy itp.
źródło