问题场景
在一个异步请求中,对一个reactive对象重新赋值,失去响应式。
解决办法
在定义reactive的时候使用ref代理,在reactive中设置一个属性,用属性来代理重新变化的值。
// 使用reactive的某个属性来代替
let obj = reactive({
data:''
})
//模拟异步操作
setTimeout(() => {
obj.data = 'Hello World!'
},1000)
// 使用ref来代替
let demo = ref()
// 模拟异步操作
setTimeout(() => {
demo.value = {
name:'小花'
}
},1000)
为什么产生这种原因
举个栗子