VueJS - 创建 ref 对象的只读副本(Composition API)

deg*_*gio 3 javascript readonly vue.js vuejs3 vue-composition-api

我通过 onMounted 挂钩从数据库获取数据并以表单显示对象。当用户单击保存时,我只想检查对象数据是否已更改。

onMounted(async () => {
  loadingBasic.value = true
  const doc = await getDocument('workspaces',props.uid) //doc is ref({}) also
  wspace.value = doc.value
  loadingBasic.value = false
})
Run Code Online (Sandbox Code Playgroud)

我创建了一个只读对象,但是当 wspace 对象更改时,只读对象也会更改。如何创建 ref 对象的未更改的初始副本?

顺便问一下,还有另一种简单的方法来检查表单更改吗?

Nik*_*vic 8

您仅使用以下方式复制引用wspace.value = doc.value 您可以使用以下方式复制值:

wspace.value = {...doc.value} 
Run Code Online (Sandbox Code Playgroud)

wspace.value = {...doc.value} 
Run Code Online (Sandbox Code Playgroud)