Preciso criar um componente que precise trabalhar com ambas as especificações, custom elements spec v0
que foram descontinuadas e a custom elements spec v1
versão estável mais recente.
Se eu criar componentes com custom elements v0
especificações, alguns aplicativos enfrentarão problemas, pois estão usando polymer 2
e acima, e o mesmo problema com polymer 1
aplicativos que não funcionarão com custom elements v1
especificações.
Não tenho controle sobre aplicativos para alterar polyfills , alguns aplicativos precisam usar polyfills com suporte a especificações antigas e outros usam novos polyfills.
Estou procurando uma solução sólida para combinar as duas especificações para executar meus elementos personalizados em todos os aplicativos, independentemente da versão do polyfills. Posso adicionar qualquer pedaço de polyfill ou snippet aos meus componentes para que eles possam ser executados em qualquer lugar. Não encontrei nenhuma biblioteca ou polyfill que ofereça suporte a ambas as especificações em minha pesquisa.
Estou planejando escrever um adaptador que possa combinar ambas as especificações, como o mapeamento mencionado abaixo para retorno de chamada em anexo, as entradas nesse pensamento serão muito apreciadas.
connectedCallback(){
this.attachedCallback();
}
Tentei usar stenciljs, mas ele pode funcionar apenas com a versão mais recente das especificações de elementos personalizados. Não encontrei nenhuma maneira de ajustá-lo para fazê-lo funcionar com as especificações anteriores.
Por favor, sugira algumas alternativas viáveis e soluções viáveis para a situação acima mencionada.
fonte
Eu suspeito que você esteja ciente disso
Custom Elements v0 is deprecated at M70, and will be removed in M80, by February, 2020.
.O que você pode fazer é acessar o
Can I use
site e verificar as versões de suporte do navegador para ver qual navegador deve carregar qual versão de elementos personalizados ...Depois, implemente o abaixo para verificar o navegador e a versão e carregar o elemento personalizado correto para o navegador desejado de acordo ( mais aqui ), se você não quiser usar bibliotecas externas.
Se você concorda com o uso de bibliotecas externas, tente o Bowser para detectar versão, plataforma etc.
fonte