readonly
readonly()函数,返回一份只读数据,这个只读是“深层的”,内部任何嵌套的属性也都是只读的,如果修改的是data里面的属性,可以改,但是改复制data后的student,是不可以的。不能将普通类型数据转为只读
setup() {
let data = reactive({
name: "莉莉",
age: 23,
});
let student = readonly(data);
let updateStudent = () => {
student.name = "lili";
};
return {
data,student,updateStudent
};
},
isRef
检查一个值是否为一个 ref 对象。
isReactive
检查一个对象是否是由 reactive 创建的响应式代理。
如果这个代理是由 readonly 创建的,但是又被 reactive 创建的另一个代理包裹了一层,那么同样也会返回 true。
isReadonly
检查一个对象是否是由 readonly 创建的只读代理。
markRaw
显式标记一个对象为“永远不会转为响应式代理”,函数返回这个对象本身。也就是说如果被 markRaw 标记了,即使在响应式对象中作属性,也依然不是响应式的
shallowReactive
只为某个对象的私有(第一层)属性创建浅层的响应式代理,不会对“属性的属性”做深层次、递归地响应式代理,而只是保留原样。
shallowReadonly
只为某个对象的自有(第一层)属性创建浅层的只读响应式代理,同样也不会做深层次、递归地代理,深层次的属性并不是只读的。
toRaw
返回由 reactive 或 readonly 方法转换成响应式代理的普通对象。这是一个还原方法,可用于临时读取,访问不会被代理/跟踪,写入时也不会触发更改