Vue3的新特性

1. 响应式系统不同

vue2 响应式机制是基于 Object.defineProperty()这个 api 实现的,只是对对象拦截,Proxy 才是真正代理,Vue2 还需要对数组方法重写,监听数组长度的变化还需要$set api

2. 自定义渲染器

vue2 所有的模块都是糅在一起的,只服务于 Vue,这样拓展性不好。Vue3 把模块拆分开来,使用最近流行的 monorepo 管理方式、响应式、编译和运行时全部独立开来,渲染逻辑也拆成平台渲染逻辑和浏览器 api 两部分,这样更适用于跨端应用。

3. 全部模块使用 TypeScript 重构

  • 更方便的提示
  • 更健壮的代码

4. Composition API 组合语法

4.1 Options API 对比 Composistion API 暴露出的问题
  • 由于所有的数据都挂载在 this 之上,因而 Options API 对写 TypeScript 的类型引导不是很友好,并且这样也不好做 Tree-shaking 清除代码
  • 新增功能基本都修改 data、method 等配置、并且代码 300 行之后,会经常上下反复横跳,开发很痛苦
  • 代码不好复用,Vue2 的组件很难抽离通用逻辑,只能使用 mixin,还会带来命名冲突问题。
4.2 Composition API 带来的好处
  • 所有 API 都是 import 引入的。用到的功能都是 import 进来,对 Tree-shaking 很友好。
  • 可以把 methods、data 一起书写,维护更轻松。
  • 代码方便复用,可以把一个功能所有的 methods、data 封装到一个独立的函数中,复用代码更容易。

5. 新的组件

Vue3 内置了 Frgment、Teleport 和 Suspense 三个新组件。

  • Fragment:Vue3 组件不再要求有一个唯一的根节点,清除了很多无用的占位 div。
  • Teleport:允许组件渲染在别的元素内,主要开发弹窗组件特别有用。
  • Suspense:异步组件,更方便开发有异步请求的组件。

6. 新一代工程化工具 Vite

原先的 webpack 需要项目全部预打包,而 vite 只是把首页依赖的文件,依次通过网络请求去获取,整个开发体验得到巨大提升,做到复杂项目的秒级调试和热更新。

总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影风莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值