位置: IT常识 - 正文

vue3和vue2 的区别,vue3和vu2到底哪个好呢?(vue2跟vue3)

编辑:rootadmin
vue3 正式发布有两年多了,之前也做过一些学习和研究。vue3 发布后给某培训机构开发了一套vue3课程课件,自己也开源了一套基于vue3的后台管理系统(因为个人懒的原因,半年后才上传到gitHub,且到目前为止一直没有更新过)。 附上网址:https://github.com/gegestst1 ...

推荐整理分享vue3和vue2 的区别,vue3和vu2到底哪个好呢?(vue2跟vue3),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3和vue2的区别,vue2和vue3的兼容,vue2和vue3的兼容,vue2跟vue3,vue3和vue2的优缺点,vue3和vue2的区别详解,vue3和vue2的区别,vue2跟vue3,内容如对您有帮助,希望把文章链接给更多的朋友!

vue3 正式发布有两年多了,之前也做过一些学习和研究。vue3 发布后给某培训机构开发了一套vue3课程课件,自己也开源了一套基于vue3的后台管理系统(因为个人懒的原因,半年后才上传到gitHub,且到目前为止一直没有更新过)。

附上网址:https://github.com/gegestst112/vue-stick-admin,有兴趣的可以下载看一下,希望我之后会继续完善和更新。

虽然现在还有很多用vue2的项目,甚至有新启动的项目还基于vue2。但vue3作为 vue 的主流开发技术栈,仍然是必然的趋势。因为现在 vue 官网文档也是 vue3 的版本了,指不定哪天要找 vue2 的文档都要花点功夫了。

近期整理一下 vue2 和 vue3 的不同点,希望对读到这篇文章的小伙伴从vue2过渡到vue3有些许帮助。

先来看下 vue2 和 vue3 有哪些相同点,至少先知道技术升级到 vue3 没有看起来那么难。

vue3 中还是可以使用选项式 api 的写法,我们熟悉的data、props、computed、methods、watch、mixins 这些选项都还在;created、mounted 等生命周期钩子函数也还是熟悉的味道;模板语法基本上一致,我们还是可以用 v-bind 绑定数据,v-on 绑定事件,v-if 和 v-for 渲染元素等等;

总结一下,即使不使用 vue3 新增的那些特性,也还是可以完成日常开发工作的。

不过,如果项目是使用 vue3 技术栈开发的,应该大部分人都会尝试适应vue3 组合式 api 语法。如果其他同事开发的模块用的都是组合式 api,唯独你还是用选项式 api,多少会有些违和感的。接下来看看 vue3 新增了哪些新特性

一、创建实例的方式不同

vue2 使用 new Vue({ ...选项 }) 构造函数的方式创建;

vue3 通过内置的 createApp( //根组件 ) 方法创建。

二、Vue3 新增的片断特性,允许单文件组件中的 template 元素下可以有多个节点

在 Vue 2 中的组件中的顶层 <template> 块不支持多个节点,通常都是用一个 div 元素包含所有节点或组件,如:

1 <template>2 <div>3 <div class=”top”>…</div>4 <header>...</header>5 <main>...</main>6 <footer>...</footer>7 </div>8 </template>vue3和vue2 的区别,vue3和vu2到底哪个好呢?(vue2跟vue3)

影响虽然不大,但最终生成的页面中会有很多不必要的节点嵌套,有经验的前端开发工程师应该都深有体会,特别是有强迫症会更觉得难受。

在Vue 3 中解决了这个问题,组件中可以包含多个节点,如下所示:

1 <template>2 <header>...</header>3 <main v-bind="$attrs">...</main>4 <footer>...</footer>5 </template>

现在这样写的组件,当组件嵌套很多级的时候,可以节省很多嵌套的节点。不过记得显示定义 attribute 分布的位置。

三、vue3的响应式原理实现不一样

vue2的双向数据绑定是使用 Object.definepropert() 对数据进行劫持,结合发布订阅模式实现。

vue3中使用了es6的proxyAPI对数据进行处理。

使用proxy 可以劫持整个data对象,然后递归返回属性的值的代理即可实现响应式。

四、新增了一些组件

比如 <teleport> 内置组件可以将内容挂载到指定的目标元素。

五、删除了过滤器

在 vue2 中过滤器就用得很少了,我只在 vue1 的时候用得比较多。对于习惯用过滤器的开发者可能有少许影响。

六、新增和修改了生命周期钩子函数

比如 destroyed 生命周期钩子被重命名为 unmounted;

新增了 renderTracked、serverPrefetch 等钩子函数;

在组合式 api 中不同的调用方式。

七、组合式 API

组合式 API 是 vue3 最大的一个变化,也是很多熟悉 vue2 的开发者最需要适应的方法。

可以在单文件组件中使用组合式 API 的编译时语法糖 <script setup>,有使代码更简洁、更好的运行时性能、能够使用纯 TypeScript
本文链接地址:https://www.jiuchutong.com/zhishi/310411.html 转载请保留说明!

上一篇:python中rindex函数是什么(python3中rindex用法)

下一篇:vue 拖拽(Vue 拖拽排序)

  • 互联网时代,让用户来帮助你建设和宣传品牌(互联网时代让生活更加美好)

  • 鼠标滚轮怎么设置上下滚动(鼠标滚轮怎么设置控制上下滑动)

  • 小米手机横屏设置在哪(小米手机打开设置横屏)

  • 抖音版本过低怎么升级(抖音版本过低怎么升级苹果手机)

  • 电脑主机漏电是什么情况(电脑主机漏电会电死人吗)

  • 华为nova7手机怎么设置返回键(华为nova7手机怎么定位对方的手机位置)

  • 屏幕一半亮一半暗(屏幕一半亮一半暗,触摸不能用)

  • 淘宝直播黑屏怎么办(淘宝直播黑屏有声音)

  • 苹果平板怎么读取u盘(苹果平板怎么读取移动硬盘)

  • 怎么开通抖音购物袋(怎么开通抖音购买东西微信支付选项)

  • vlan id是什么意思(vlan的id是什么)

  • 电脑为啥连不上wifi受限(电脑为啥连不上手机热点显示无法连接这个网络)

  • ipadair3支持无线充电么(ipadair3能连无线鼠标吗)

  • 小米青春版能用闪充吗(小米青春版能用多久)

  • 什么叫手机直推(什么叫手机直推流量)

  • 如何使用微信支付买单(如何使用微信支付公交车费用)

  • 手机怎么设置夜间模式(手机怎么设置夜间关机)

  • 苹果11怎么退出程序(苹果11怎么退出ID)

  • 申请微信公众号收费吗(申请微信公众号要多久才能通过)

  • 手机声卡怎么安装步骤(手机声卡怎么安装到电脑上)

  • 拼多多砍价为什么是0(拼多多砍价为什么总是砍不成功)

  • vue3 销毁组件方法(vue destroyed销毁组件)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络