getCurrentScope() Obter o escopo ativo atual
Última atualização: 2026-10-22
getCurrentScope() Obter o escopo ativo atual
getCurrentScope() devolve o effectScope atual (ou undefined se não houver), usado para pendurar efeitos colaterais no escopo de quem chama dentro de funções utilitárias.
| Grupo | Reatividade: Avançado |
|---|---|
| Tipo | API |
| Escopo | No Componente |
| Versão do Vue | 3.0+ |
| Suporte a SSR | Sim |
📝 Sintaxe
const scope = getCurrentScope() // dentro do setup de um componente, geralmente é o escopo do componente
if (scope) scope.stop()
Retorno:O EffectScope atual ou undefined
▶ Exemplo
Edite o código abaixo e veja o resultado ao vivo:
Saída:
Shows 'active scope present'.
💡 Pontos-chave
ℹ️ Nota Ao escrever bibliotecas, use-o para julgar o ambiente de chamada (se está dentro de setup/effectScope) e decidir a quem os efeitos colaterais pertencem.
💡 Dica Geralmente usado junto com onScopeDispose: registra a limpeza se houver escopo; caso contrário, pula.
🏷️ Avançado relacionados
💡 Casos Relacionados
Mais casos em breve.
📚 Tutoriais Relacionados
❓ FAQ
P O que acontece ao chamar fora do setup?
R Retorna undefined: significa que não há escopo ativo no momento (por exemplo, dentro de callbacks de eventos comuns).
P A relação dele com onScopeDispose?
R onScopeDispose internamente depende do escopo atual; getCurrentScope é o ponto de entrada de consulta.
P Dá para parar manualmente o escopo atual?
R Dá, mas não é recomendado: parar o escopo do setup limpa também os efeitos colaterais relacionados ao componente.