Vue Academy · Aula

Criação e registro de componentes

Defina e registre componentes global e localmente.

Aula 1 de 313 etapas

Criação e registro de componentes é uma aula grátis de Vue Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Vue Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Vue Academy inclui 3 aulas no total.

Por que usar componentes?

Componentes permitem dividir uma interface em partes independentes e reutilizáveis.

  • Cada um gerencia seu próprio modelo, sua lógica e seu estilo
  • Você os combina em estruturas maiores
  • Eles tornam o código organizado e fácil de manter

Componentes de arquivo único

Um componente de arquivo único (.vue) reúne três blocos em um só arquivo.

<template>
  <p>{{ greeting }}</p>
</template>

<script setup>
import { ref } from "vue"
const greeting = ref("Hello!")
</script>

<style scoped>
p { color: teal; }
</style>

Definindo um componente

O bloco template contém a marcação. O bloco script contém a lógica. O bloco style contém CSS.

  • Estilos scoped aplicam-se somente a este componente
  • Os modelos precisam ter uma estrutura clara de elementos

Nomes de componentes

Por convenção, os arquivos e o uso de componentes seguem PascalCase.

  • Arquivo: UserCard.vue
  • Nos modelos: <UserCard />
  • PascalCase diferencia componentes do HTML nativo

Importando um componente

Para usar um componente, importe-o onde for necessário.

<script setup>
import UserCard from "./components/UserCard.vue"
</script>

<template>
  <UserCard />
</template>

Registro local (script setup)

Com script setup, basta importar um componente para torná-lo disponível no modelo. Não é necessário nenhum registro adicional.

<script setup>
import Header from "@/components/Header.vue"
import Footer from "@/components/Footer.vue"
</script>

<template>
  <Header />
  <main>Content</main>
  <Footer />
</template>

Registro local (API de Opções)

Com a API de Opções, você registra componentes na opção components.

import UserCard from "./UserCard.vue"

export default {
  components: {
    UserCard
  }
}

// Now <UserCard /> works in this template

Registro global

O registro global com app.component permite usar um componente em qualquer lugar sem importá-lo.

import { createApp } from "vue"
import App from "./App.vue"
import BaseButton from "./components/BaseButton.vue"

const app = createApp(App)
app.component("BaseButton", BaseButton)
app.mount("#app")

Global ou local

Escolha um escopo de registro:

  • Global: conveniente, mas aumenta o pacote e torna mais difícil acompanhar o uso
  • Local: importações explícitas, melhor eliminação de código não utilizado e dependências mais claras

Prefira o registro local, exceto para alguns componentes básicos realmente universais.

Reutilizando um componente

O mesmo componente pode ser usado várias vezes. Cada instância é independente.

<template>
  <UserCard />
  <UserCard />
  <UserCard />
</template>

<!-- three separate instances,
     each with its own state -->

Aninhando componentes

Os componentes formam uma árvore. Um componente pai pode conter filhos, que por sua vez contêm seus próprios filhos.

<!-- App.vue -->
<template>
  <PageLayout>
    <ArticleList />
  </PageLayout>
</template>

<!-- ArticleList contains ArticleCard children -->

Verificação rápida

Teste sua compreensão sobre o registro de componentes.

Recapitulação: criando componentes

Você aprendeu a criar e registrar componentes:

  • Arquivos .vue contêm modelo, script e estilo
  • Use nomes em PascalCase
  • script setup registra automaticamente os componentes importados
  • A API de Opções usa a opção components
  • app.component() registra componentes globalmente

Próximo: props e eventos personalizados.

Grátis para começar

Aprenda HTML com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
42
Aulas
156

Perguntas Frequentes

A aula “Criação e registro de componentes” é grátis?

Sim — o texto completo de “Criação e registro de componentes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Vue Academy, atualize para CoddyKit PRO. O curso de Vue Academy inclui 3 aulas no total.

O que vou aprender em “Criação e registro de componentes”?

Defina e registre componentes global e localmente. Você pratica Vue Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Vue Academy?

Nenhuma experiência prévia é necessária. Vue Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Criação e registro de componentes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Vue Academy?

Sim. Cada aula de Vue Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criação e registro de componentes
  2. Props e eventos personalizados
  3. Slots e slots com escopo
← Voltar para Vue Academy