computed() Criar uma propriedade computada

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

computed() Criar uma propriedade computada

computed() deriva um valor a partir de outro estado reativo e o armazena em cache: recalcula apenas quando uma dependência muda.

GrupoReatividade: Essencial
TipoAPI
EscopoNo Componente
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

const doubled = computed(() => count.value * 2)

// propriedade computada gravável
const full = computed({
  get: () => first.value + " " + last.value,
  set: (v) => { [first.value, last.value] = v.split(" ") }
})

⚙️ Argumentos

getterUma função getter (ou um objeto com get/set) que lê outro estado reativo

Retorno:Um objeto ComputedRef somente leitura (ou gravável)

▶ Exemplo

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

Saída:

Shows 'Total: 20' by default; editing either input recalculates the total instantly.

💡 Pontos-chave

💡 Dica Tem cache: se vários lugares usam o mesmo computed, ele calcula apenas uma vez; já os methods são executados novamente a cada renderização.
⚠️ Aviso Não coloque efeitos colaterais no getter de um computed (como requisições ou alterar outro estado) — esse é o papel do watch.
ℹ️ Nota Só funciona se depender de fontes realmente reativas: sem dados reativos nas dependências, o resultado nunca é atualizado.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Devo usar computed ou methods?
R Derivação a partir de dados reativos com resultado reutilizável → computed (com cache); chamadas com parâmetros ou execução a cada vez (como eventos) → função comum.
P Posso atribuir valor diretamente a um computed?
R Por padrão é somente leitura e atribuir valor gera um aviso. Para torná-lo gravável, use a forma { get, set }.
P Posso escrever código assíncrono dentro de um computed?
R Não: o computed precisa retornar o valor de forma síncrona; lógica de derivação assíncrona deve usar watch + ref.
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%