Vue2与Vue3的区别
支持Framents语法
在Vue2中要求组件模板中只能有一个根元素,因为在Diff算法中,虚拟DOM是一个树结构,单个根有利于Diff算法对比时进行查找与遍历。而Vue3实际上在多个根节点外层包裹一个虚拟根节点,来实现单个根的虚拟DOM树,因此在Vue3的组件模板中支持多个根元素。
Vue3新增的Composition API
在Vue2中,我们只需要向组件实例的data选项添加属性便能得到响应式数据,而Vue3在兼容Options API的同时,新增了Composition API,其中提供了两个函数来实现数据的响应式:
- ref()函数
接收一个内部值,返回一个响应式的ref对象,此对象只有一个指向其内部值的value属性。
-
- 当接收基本数据类型数据时,依然靠Object.defineProperty()将数据转换成getter/setter的形式来实现响应式;
- 当接收引用数据类型数据时,会调用reactive()函数将其转为具有深层响应式的对象;
- reactive()函数
返回一个对象的响应式代理,也即Proxy对象。该对象嵌套的对象也会通过Proxy对象包裹,因此具有深层响应式。
另外,Vue3的Composition API使用setup()钩子函数来完成beforeCreate()与created()钩子中添加的操作,它是组合式API的入口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)