shallowReadonly

214 阅读1分钟
setup() {
  // 创建一个 proxy,使其自身的 property 为只读,但不执行嵌套对象的深度只读转换 (暴露原始值)。
  const foo = shallowReadonly({
    bar: 1,
    baz: { cv: 1 }
  });

  foo.bar++;

  console.log(isReadonly(foo.baz), 'isReadonly(foo.baz)'); // false

  foo.baz.cv++;

  // 与 readonly 不同,任何使用 ref 的 property 都不会被代理自动解包。
  const refCount = ref(1);
  const shallowReadonlyCount = shallowReadonly({ count: refCount });

  console.log(shallowReadonlyCount.count.value); // 1

  return { foo };
}

image.png