示例代码

<div>{{ person.id }} {{ person.name }}</div>
const person:any = reactive({id:10000, name:'哈哈'});
setTimeout(() => {
  person.value = {id:10001, name:'吼吼'};
  
}, 3000);

setTimeout(() => {
  person.value = Object.assign(person, {id:10002, name:'呵呵'});
  
}, 5000);

运行结果

页面初始化显示:

f6a3e47e8fa447f7b26412ddde0923a9.png

3秒后页面显示不变化,控制台打印person.value,发现变量的值已变为:

ede28fac00384466914b82ea035d599f.png

5秒后页面显示:

e2dd6b313a11429db9f3dd0aabb222eb.png

总结

reactive定义的变量直接用=号赋值会丢失响应式,可以用Object.assign()进行赋值。

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐