shallowReadonly 仅对对象第一层属性做只读保护,深层嵌套对象或数组仍可修改;它不递归冻结,适用于需防止顶层替换但保留子状态可变性的场景。shallowReadonly 是 Vue 3 提供的一个响应式工具函数,它只对对象**第一层属性**做只读保护,内部嵌套的对象或数组仍可被修改。它不递归冻结深层结构,适合在需要"浅层不可赋值但深层可变"的场景中使用,比如防止父级属性被意外替换,同时保留子状态的响应式更新能力。它和 readonly 的关键区别不同于 readonly(递归地将整个响应式树转为只读),shallowReadonly 只拦截顶层属性的 set 操作:对 obj.name = 'new' 会报错(顶层赋值被禁止)对 obj.profile.age = 25 不报错(深层属性仍可修改)对 obj.list.push(1) 也不报错(嵌套数组方法可用)典型适用场景常见于组件 props 或组合式 API 中的"受控但非完全冻结"状态:接收父组件传入的配置对象,不允许替换整个 config,但允许内部字段动态更新(如表单字段校验状态)封装一个响应式仓库实例,暴露只读的 state 引用,但保留其内部模块的可变性配合 shallowRef 使用,避免对大型嵌套对象做深度响应式转换带来的性能开销实际用法示例在 setup() 中这样使用: 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。
相关推荐
●VON35 分钟前
鸿蒙Flutter实战:分类管理页BottomSheet CRUDCosolar36 分钟前
Chroma向量库面试学习指南风吹夏回1 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底小熊Coding2 小时前
Python爬取当当网二手图书项目实战!企服AI产品测评局2 小时前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?秋92 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案小江的记录本2 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)cfm_29142 小时前
Redis数据安全性解析DIY源码阁2 小时前
JavaSwing学生成绩管理系统 - MySQL版田里的水稻3 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容