ooo4
2 天前
toRefs 的参数必须是一个对象才行,而且必须还要存在属性,因为它要把对应的属性值变成 ref 。
而现在使用的是 ref 包裹数据,那么也应该是`const {data:list} = toRefs(data.value)`才行,让 list 变成了响应式数据,
但是是通过`data.value = { code: 0, data: [666, 777, 888] }`改变数据,也只是改变了 data(ref),list 并没有改变,所以 list 还是以前的数据,如果这样`Object.assign(data.value, { code: 0, data: [666, 777, 888] })`修改数据应该可以
看错了 [如果对 ref 包装的 obj 进行解构]
```
import { reactive, watchEffect, onMounted, toRefs, ref } from 'vue';
const data = ref({ code: null, data: [] })
onMounted(() => {
setTimeout(() => {
Object.assign(data.value, { code: 0, data: [666, 777, 888] })
}, 1000)
})
debugger
const { data: list } = toRefs(data.value)
watchEffect(() => {
console.log('list', list.value)
})
```