Vue2和Vue3响应式原理的区别

1、使用Proxy代替Object.defineProperty :  Vue3使用ES6中的Proxy对象来实现响应式,而Vue2使用Objcet.defineProperty。相比之下,Proxy具有很好的性能、更简洁的语法和更强大的功能,例如可以拦截更多类型的操作。
2、初始化时的递归代理 : Vue3在初始化响应式数据时会进行一次递归处理,这样就不需要位每个属性都创建getter和setter了,从而提高了性能。
3、多个根级响应式对象 : 在Vue2中,一个组件只能有一个根级响应式对象(即data选项),但在Vue3中,一个组件可以有多个根级响应式对象(即setup函数返回的多个响应式对象)。
4、无需符号 : 在Vue2中,需要使用this.的前缀才能访问响应式数据,但在Vue3中,可以直接使用普通变量名访问响应式数据。
5、删除响应式数据 : 在Vue中,不能直接删除响应式数据,必须使用Vue.delete方法,而在Vue3中,可以直接使用delete关键字删除响应式数据。
     总结:Vue3的响应式原理比Vue2更加高效、灵活和易用。
全部评论

相关推荐

03-30 01:16
已编辑
湖南科技大学 前端工程师
1. 封装组件的话有用过插槽吗,作用域插槽呢2. 父子之间的传值是怎么传的,父子通信3. provide和inject用过吗,接受什么类型的数据,能接收函数吗(能)4. vue2中父与子生命周期的执行顺序5. 组件中的name和路由的name有什么作用6. 路由传参有params和query,params是怎么传值的(router中的name就是配合params进行路由跳转和获取动态的参数,而query是通过push路径的方式进行传值)7. vue中的keep-alive用过这个组件吗,不是HTTP中的8. 场景:没有在data函数中去定义,我是直接在mounted函数中直接用this.a等于1,然后我把这个a绑定在这个模板上,此时呢有一个按钮是改变这个a的值,把this.a变成等于2,那么这个模板中的a显示的值是1还是29. vue2响应式是怎么处理的10. ref和reactive的区别,分别去解构还会是响应式吗(reactive失去响应式,ref不会)11. watch和watchEffect用到过吗12. html中script标签设置defer和async有什么用13. cookie,localStorage,sessionStorage区别,两个标签页的sessionStorage能共享吗(不能),localStorage呢(能)14. vuex和pinia在两个标签页中能共享吗(不能)15. 二级域名下的cookie在一级域名下能拿到吗(不能),反过来可以,向下兼容16. 盒模型,content-box标准盒模型(它不包含margin,你实测过吗)17. 两栏布局,左边固定,右边自适应怎么实现(flex)18. 水平垂直居中布局19. 外层div设置了transform,内层设z-index=999生效吗20. 行内元素的margin和padding左右方向生效,上下不生效21. map和forEach的区别,可以链式写吗(链式的前提是有返回值,map可以写,因为有返回值)22. git的命令,删除本地的分支(git branch -d ),git pull和git pull --rebase的区别#前端凉经#
查看22道真题和解析
点赞 评论 收藏
分享
1. 自我介绍2. 进程线程你有什么理解3. OS进程间通信方式4. 你了解哪些锁5. 进程调度算法6. LRU你是怎么理解的7. 死锁需要哪些条件8. Https http区别9. tcp 三次握手、四次挥手过程10. 网络请求方式问:get post 区别问:get 对parms长度有限制吗问:post可以传params吗11. 数据结构了解哪些12. 二叉搜索树最坏情况是什么解决方案?13. 了解哪些排序算法问:超大的文件,然后怎么排序(归并排序)14. java引用类型软引用弱引用区别15. hashmap原理16. Java  final和finaly和finalice有什么区别在finally之前也就是try的过程就return 掉,finally的代码会执行吗17. java中怎么判断一个对象应该被回收18. 简单讲下垃圾回收机制19. 内存泄露和内存溢出区别20. 安卓handler机制21. looper怎么唤醒22. Recyclerview 的四级缓存池有什么区别23. 为什么应用会ANR24. 安卓的一个运行机制有没有了解安卓从点击应用图标到拉起整个应用渲染的过程25. dart是值传递还是引用传递26. dart的线程模型你了解吗27. flutter应用从启动到显示过程28. flutter和原生是怎么通信的29. statelesswidget和statefulwidget区别30. statefulwidget有哪些生命周期31. flutter的一个渲染流程(三棵树)32. flutter的优缺点33. image.network有了解过内存压力吗34. git操作使用规范35. 算法:升序排列的链表,让你把他变成平衡二叉搜索树#安卓##客户端##移动端##面经##暑期实习#
点赞 评论 收藏
分享
评论
6
14
分享

创作者周榜

更多
牛客网
牛客企业服务