readonly 和 shallowReadonly 函数

  • readonly 函数

    将 ref、reactive 数据变为只读的数据,并且深层次的属性也是只读的

    import { ref, reactive, readonly } from "vue";
    export default {
      setup() {
        let a = ref(0);
        let b = reactive({
          a: 1,
        });
    
        a = readonly(a); //将数据改为只读的
    
        b = readonly(b); //将数据改为只读的
    
        return { a, b };
      },
    };
    
  • shallowReadonly 函数

    只是浅层次的将数据的第一层修改为只读的,更深层次的数据时可以被修改的。

    import { reactive, shallowReadonly } from "vue";
    export default {
      setup() {
        let a = reactive({
          b: 1,
          c: {
            d: 4,
          },
        });
    
        a = shallowReadonly(a);
        //将第一层数据改为只读的
    
        return { a, b };
      },
    };
    

    此处,属性 b、c 为只读的,不能被修改,但是属性 d 不是只读的,是可以被修改的。

上次更新:
贡献者: Roking-wang