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!
