defineCustomElement() Definir um custom element

Última atualização: 2026-10-22

defineCustomElement() Definir um custom element

defineCustomElement() empacota um componente Vue como um custom element baseado em padrões, utilizável em qualquer página ou framework.

GrupoFunções de Renderização e SSR
TipoAPI
EscopoGlobal
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

const MyEl = defineCustomElement({ props: { msg: String }, template: "<p>{{ msg }}</p>" })
customElements.define("my-element", MyEl)

⚙️ Argumentos

optionsUma definição de componente (suporta array styles)

Retorno:Uma classe de custom element para customElements.define

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

Renders 'from a custom element'.

💡 Pontos-chave

ℹ️ Nota Ótimo para compartilhar componentes de design system entre frameworks.
💡 Dica A opção styles injeta CSS no shadow root.
⚠️ Aviso Os props precisam ser declarados para poderem ser definidos como propriedades do elemento.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Quando é útil?
R Ao reutilizar componentes fora do Vue ou publicar web components.
P Os estilos vazam?
R O Shadow DOM isola os estilos; caso contrário, eles são globais.
P Dá para usar dentro do Vue também?
R Dá, embora componentes comuns sejam mais simples.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%