vue3中, 将A赋值给B,然后修改A, B也会跟着修改吗?
const myOptionalList = ref([])const currentOptional = reactive({
red: [],
blue: []
})
const handleChange = () => {
myOptionalList.value = [currentOptional, ...myOptionalList.value]
// myOptionalList.value = JSON.parse(JSON.stringify([currentOptional, ...myOptionalList.value]))
currentOptional.red = []
currentOptional.blue = []
}
在vue3中, 如果我按上面的写法,将currentOptional
赋值到了myOptionalList
中后, 清空currentOptional
,发现myOptionalList
也会被清空
我知道这是引用传递的问题,解决方法是进行深拷贝, 但是我有点疑惑,我记得vue2中好像不存在这种问题啊, 是我记错了吗
回答:
你拷贝的是数组,数组的引用并没有解除。需要单独解构currentOptional
中的每一个值是数组的属性。
回答:
structuredClone
以上是 vue3中, 将A赋值给B,然后修改A, B也会跟着修改吗? 的全部内容, 来源链接: utcz.com/p/934290.html