1. readonly 用于创建一个ref或者reactive定义的响应式数据的深只读副本。
0.1 用法:
const sum = reactive(0);
const readOnlyCopy = readonly(sum);
readOnlyCopy ++
console.log(readOnlyCopy); // 输出 0
0.2 特点:
· 对象的所有嵌套属性都将变为只读;
· 任何尝试修改这个对象的操作都会被阻止,(在开发模式下,还会在控制台发出警告)。
0.3 应用场景:
· 创建不可变的快照
· 保护全局状态配置不被修改
2. shallowReadonly 与 readonly 类似,用于创建一个ref或者reactive定义的响应式数据的浅层只读副本(对象的第一层为只读)。
- 特点:
· 只将对象的第一层属性设置为只读,对象内部的嵌套属性仍然是可变的。
· 适用于只需保护对象第一层属性的场景。