vue3中其他的API(5)

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 方法转换成响应式代理的普通对象。这是一个还原方法,可用于临时读取,访问不会被代理/跟踪,写入时也不会触发更改

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容