Conteúdo do curso
Curso Completo de Vue.js: Dominando do Básico ao Avançado
Sobre a Aula

Criando templates reutilizáveis em Vue.js

Olá, alunos! Bem-vindos à aula 1 de Templates em Vue.js. Hoje, vamos aprender sobre templates reutilizáveis.

Templates são a maneira de definir a estrutura e o conteúdo de um componente Vue.js.

Templates reutilizáveis são templates que podem ser usados em diferentes componentes.

Por que usar templates reutilizáveis?

Existem várias vantagens em usar templates reutilizáveis:

  • Redução de código: Templates reutilizáveis podem ajudar a reduzir a quantidade de código que você precisa escrever.
  • Melhoria da legibilidade: Templates reutilizáveis podem tornar seu código mais legível e fácil de manter.
  • Aumento da flexibilidade: Templates reutilizáveis podem ajudá-lo a criar aplicativos mais flexíveis e adaptáveis.

Como criar templates reutilizáveis

Para criar um template reutilizável, você pode usar a diretiva <slot>.

A diretiva <slot> permite que você defina uma área em seu template que pode ser preenchida por outro template.

Por exemplo, vamos considerar o seguinte template:

<template>
  <div>
    <slot name="conteudo"></slot>
  </div>
</template>

Este template define uma área chamada conteudo que pode ser preenchida por outro template.

Para usar um template reutilizável, você pode usar a diretiva <component>.

A diretiva <component> permite que você insira um componente em outro template.

Por exemplo, vamos considerar o seguinte template:

<template>
  <div>
    <component :is="'minha-componente'"></component>
  </div>
</template>

Este template insere o componente minha-componente no template.

Para fazer com que o componente minha-componente preencha a área conteudo do template reutilizável, você pode definir a propriedade name do componente para conteudo.

Por exemplo, vamos considerar o seguinte código:

export default {
  components: {
    MinhaComponente: {
      template: `
        <div>
          <slot name="conteudo"></slot>
        </div>
      `,
    },
  },
};

Este código define um componente chamado MinhaComponente que tem uma área chamada conteudo.

Agora, podemos usar o componente MinhaComponente no template reutilizável:

<template>
  <div>
    <component :is="'minha-componente'"></component>
  </div>
</template>

Este template irá exibir o seguinte:

<div>
  <div>
    <slot name="conteudo"></slot>
  </div>
</div>

Desafio

Aqui está um desafio para você:

  • Crie um template reutilizável para um botão. O template deve ter uma área para o texto do botão e uma área para a imagem do botão.

Boa sorte!

Dica

Você pode usar a seguinte estrutura para o template reutilizável do botão:

<template>
  <div>
    <slot name="texto"></slot>
    <slot name="imagem"></slot>
  </div>
</template>

Você pode usar as propriedades name dos slots para especificar os nomes das áreas do template.

No próximo tópico, aprenderemos como estruturar e organizar templates de forma eficiente.

Entrar na conversa
Rolar para cima