• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • readonly()

    接受一个对象(反应式或普通)或一个 ref 并返回一个只读代理到原来的。

    类型

    function readonly<T extends object>(
      target: T
    ): DeepReadonly<UnwrapNestedRefs<T>>
    


    细节

    只读代理很深:访问的任何嵌套属性也将是只读的。它还具有与reactive()相同的引用展开行为,除了展开的值也将被设为只读。

    为避免深度转换,请改用shallowReadonly()


    例子

    const original = reactive({ count: 0 })
    
    const copy = readonly(original)
    
    watchEffect(() => {
      // works for reactivity tracking
      console.log(copy.count)
    })
    
    // mutating original will trigger watchers relying on the copy
    original.count++
    
    // mutating the copy will fail and result in a warning
    copy.count++ // warning!
    

    上篇:computed()

    下篇:watch()