<KeepAlive> Cache de Instâncias de Componentes

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

<KeepAlive> Cache de Instâncias de Componentes

O cacheia as instâncias dos componentes envolvidos: ao voltar, o estado é preservado e a re-renderização é pulada (comum em abas e views de rota).

GrupoIntegrados
TipoComponente / Elemento
EscopoTemplate
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

<KeepAlive include="TabA,TabB" :max="10">
  <component :is="currentTab"></component>
</KeepAlive>

⚙️ Argumentos

propsinclude / exclude (nomes ou regex) / max (limite de cache; ao exceder, elimina o menos usado)

▶ Exemplo

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

Saída:

Type in tab A, switch away and back — the text remains.

💡 Pontos-chave

💡 Dica Combine com os hooks activated / deactivated para 'atualizar ao entrar, pausar ao sair'.
ℹ️ Nota max usa eliminação LRU: ao exceder o limite, a instância menos acessada recentemente é destruída primeiro.
⚠️ Aviso O que fica em cache são instâncias e estados (inclusive timers): manter páginas inativas em cache consome memória; defina um limite com max.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Qual a diferença em relação ao v-show?
R O v-show esconde o DOM mantendo-o; o KeepAlive cacheia a instância inteira do componente (estado e efeitos colaterais).
P Como usar o include?
R Nomes separados por vírgula ou regex: :include="/Tab/"; o que é comparado é o name do componente.
P O cache fica guardado para sempre?
R Por padrão, não há limite; controle com :max ou use uma lista branca com include/exclude.
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%