关于VUE3的疑问。
1、响应式数据的声明 中 ref 与 reactive 有什么区别?
答:参考答案 。个人理解:ref最好用来定义基本数据类型,使用时要用.value ;reactive最好用来定义引用数据类型。reactive在定义数据的时候,要用对象包装一下,使用时用.属性名。可以用isRef / isReactive来判断数据是通过什么定义的。
2、关于vue3中的watch,一开以为用了proxy之后,不管数据类型是什么,都可以直接监听。不需要向vue2中设置深度监听。没想到vue3中监听嵌套的对象或数组时仍要设置深度监听。
答:参考文档。与vue2中相比他可以同时监听多个数据源,任意一个改变都触发watch,但只会触发一次。但是通过更改设置 flush: 'sync'
,我们可以为每个更改都强制触发侦听器,尽管这通常是不推荐的。或者,可以用 nextTick 等待侦听器在下一步改变之前运行
注意点:检查深度嵌套对象或数组中的 property 变化时,侦听一个响应式对象或数组将始终返回该对象的当前值和上一个状态值的引用。导致watch中新旧值相同,为了完全侦听深度嵌套的对象和数组,可能需要对值进行深拷贝。这可以通过诸如 lodash.cloneDeep 这样的实用工具来实现。 这个问题在Vue2.x 也有。我是通过JSON.parse JSON.stringy进行深拷贝的,在vue2中,只要监听的是引用数据类型,watch中新旧值就一样
3、vue3中插槽的使用方法变化了
4、router-link 中的 tag 属性被删了
5、vue2中的attrs不包含class和style属性 , v u e 3 中 包 含 4 、 v u e 3 中 移 除 了 事 件 处 理 中 对 attrs不包含class和style属性,vue3中包含
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2019-11-05 项目--6