在vue3中,想讲数据转变为响应式,可以用到ref和shallowref这两个api,目的是使数据的变化可以触发视图的重新渲染。[吃瓜群众][疑问][流泪]

但是这两个是存在区别的,修改ref响应数据的深层内容,视图会相应改变。而修改shallowref响应数据的深层内容,数据会改变,但是视图没变化,可以使用triggerRef主动去更新视图。

[擦汗][抠鼻][坏笑]
特别地,如果你先点击shallowref响应数据,视图不变,但是如果之后你再去改变ref相应数据改变视图的同时,前面未改变的shallow响应数据视图也会一起更新。

这里的原理就是虚拟dom,一处更新的时候,会整体渲染出虚拟dom,所以顺带把其他地方的数据也同步修改了。
展开
评论