$emit() Emitir um evento de componente
Última atualização: 2026-10-22
$emit() Emitir um evento de componente
$emit dispara um evento customizado cujos argumentos chegam ao listener do pai — o canal padrão de filho para pai.
| Grupo | Opções: Composição e Diversos |
|---|---|
| Tipo | Opção |
| Escopo | No Componente |
| Versão do Vue | 3.0+ |
| Suporte a SSR | Sim |
📝 Sintaxe
export default {
methods: {
save() { this.$emit("save", { id: 1 }) }
}
}
⚙️ Argumentos
| value | Um nome de evento mais quaisquer argumentos de payload |
|---|
Retorno:Sem valor de retorno
▶ Exemplo
Edite o código abaixo e veja o resultado ao vivo:
Saída:
Clicking shows the payload id.
💡 Pontos-chave
ℹ️ Nota Declare os nomes em emits para evitar avisos e ganhar suporte de ferramentas.
💡 Dica Prefira nomes em kebab-case em templates DOM.
⚠️ Aviso Nomes de eventos diferenciam maiúsculas e são convertidos para minúsculas em templates DOM.
🏷️ Composição e Diversos relacionados
💡 Casos Relacionados
Mais casos em breve.
📚 Tutoriais Relacionados
❓ FAQ
P Versus chamar métodos do filho?
R Emitir mantém o fluxo unidirecional; chamadas por ref acoplam os componentes.
P Dá para passar vários argumentos?
R Sim — o handler os recebe em ordem.
P E se ninguém escutar?
R Nada acontece — eventos são opcionais.