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!