vue3基础

Vue3在生命周期、多根节点、CompositionApi、异步组件(Suspense)、Teleport、响应式原理等方面有所改变和优化,提升了开发体验和性能。例如,setup替代了beforeCreate和created,支持多根节点,且引入了Proxy实现更全面的响应式。此外,Vue3还支持Suspense用于异步组件加载,Teleport则允许组件内容定位到外部DOM位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我认为其实vue3和vue2的命令大多是没有发生改变的只是在使用方法上发生了改变。但是在我们的使用途中就会非常便利。

vue3和vue2的不同对比:

一、生命周期

首先是在生命周期上发生的改变,我们在vue2中我们常用的生命周期有8个,vue3中将vue2中的beforecreate和create相当于融合到了setup中了,并且我们在vue3中使用生命周期的时候需要先进行引入,然后vue2是直接使用,并且vue3中大部分生命周期前面都加上了on,并且在使用的时候可以多次使用,写多个逻辑,依然会按顺序执行,不会覆盖,然而在vue2中,生命周期只会执行最后一次

beforeCreate()      
created()
beforeMounte()onBeforeMounte()
mounted()onMounted()
beforeUpdate()        onBeforeUpdate()
updated()onUpdate()
beforeDestory()onBeforeUnmount()
destoryed()onUnmounted()

注:setup是围绕beforeCreate和created生命周期钩子运行的,所以vue3中不需要去定义

二、多根节点

vue2如果一个vue文件有多个节点的话会报错,但是vue3支持多根节点

三、Compsition Api

  • vue2中使用的是选项Api,一个逻辑会散落在文件的不同位置(data,methods,watch等),代码的可读性就变差了
  • vue3的组合api就很好的解决了这个问题,让代码有了可读性,和聚集性。

四、异步组件

Vue3 提供 Suspense 组件,允许程序在等待异步组件加载完成前渲染兜底的内容,如 loading ,使用户的体验更平滑。使用它,需在模板中声明,并包括两个命名插槽:default 和 fallback。Suspense 确保加载完异步内容时显示默认插槽,并将 fallback 插槽用作加载状态。新增

<tempalte>
  <suspense>
      <List />
    <template #fallback>
      <div>
        Loading...
      </div>
    </template>
  </suspense>
</template>

链接:https://juejin.cn/post/7067413380922867725

list未加载完的时候会显示loading...如果加载完成后会显示list列表

5.Teleport

 是一个内置组件,它可以将一个组件内部的一部分模板“传送”到该组件的 DOM 结构外层的位置去。其实就是当我们设置一个弹窗的时候我们可以将它挂在app之外的位置。vue3新增

6.响应式原理

vue2中使用的响应式原理是object.defineProperty;Vue3响应原理基础是Proxy。

vue3不用object.defineProperty的原因就是他的弊端,无法监听对象或数组新增、删除的元素,但是vue2也提供了Vue.set方法用来监听对象和数组。Vue3中Proxy 是 ES6 新特性,通过第2个参数 handler 拦截目标对象的行为。相较于 Object.defineProperty 提供语言全范围的响应能力,消除了局限性。

7.diff比对的优化

添加了静态节点

8.打包优化

9.TypeScript的支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值