shallowReadonly() Proxy superficial somente leitura
Última atualização: 2026-10-22
shallowReadonly() Proxy superficial somente leitura
shallowReadonly() deixa somente leitura apenas as propriedades do primeiro nível; objetos aninhados continuam modificáveis.
| Grupo | Reatividade: Avançado |
|---|---|
| Tipo | API |
| Escopo | No Componente |
| Versão do Vue | 3.0+ |
| Suporte a SSR | Sim |
📝 Sintaxe
const cfg = shallowReadonly({ theme: 'dark', nested: {} })
cfg.theme = 'light' // ❌ bloqueado
cfg.nested.x = 1 // ✅ permitido (aninhado não é somente leitura)
⚙️ Argumentos
| target | Objeto |
|---|
Retorno:Um proxy superficial somente leitura
▶ Exemplo
Edite o código abaixo e veja o resultado ao vivo:
Saída:
The top-level write is blocked with a warning; the nested write goes through.
💡 Pontos-chave
⚠️ Aviso Somente leitura superficial não equivale a segurança: dados aninhados ainda podem ser alterados; não use para proteção de dados.
ℹ️ Nota Poucos cenários precisam dele: constantes no primeiro nível + referências aninhadas mutáveis (como contêineres de cache).
🏷️ Avançado relacionados
💡 Casos Relacionados
Mais casos em breve.
📚 Tutoriais Relacionados
❓ FAQ
P Qual a diferença de readonly?
R Trava apenas um nível: objetos aninhados leem e escrevem normalmente; readonly trava recursivamente todos os níveis.
P Cenários de uso comuns?
R Raro; geralmente aparece em APIs internas sensíveis a desempenho que precisam de defesa superficial.
P Dá para detectar?
R isReadonly retorna true, e isProxy também é true.