vue2和vue3的差异

1.响应式实现的差异

      vue2使用了 es5提供的object.defineProperty实现对对象的数据性进行监听

  缺点:1.无法监听原始数组的变换必须经过特殊处理(经过处理的有push    shift unshift  等)

              2.无法监听属性的添加与删除 解决方案:$set()和$delete()

       vue 3 使用了Proxy 劫持了对象的数据属性变换,当属发生改变的时候 set捕获器会触,当属发删除的时候会触发deleteproperty捕获,从而触发页面渲染,

      同时也通过这两个捕获器解决了 vue2中的两个缺点

2.创建方式

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

      vue3 使用creatApp(//根组件)方法创建

3.片断特性

    vue2  组件中的顶层 templete 下不允许有多个节点,都是通过一个大的div进行包裹

         

 <template>
         <div>
         <div >…</div>
           <header>...</header>
           <main>...</main>
           <footer>...</footer>
         </div>
  </template>

    vue3  允许单文件组件中的templete元素下有多个节点

          

 <template>
        
           <header>...</header>
           <main>...</main>
           <footer>...</footer>
         
  </template>

4. 新增组件 Teleport

      简单来说就是一个弹框

5. 删除filter 在vue2中主要是用来格式化的列入 时间戳格式化成正常日期

6. Opions api 它的生命周期只是将 beforeDestroy改成beforeUnmount ,将destroyed改变成 Unmounted 其他的沿用vue2的生命周期

    Composition api 它的生命周期

        使用setup代替了beforeCreat 和 created 的生命周期

        onBeforeMount 获取不到DOM, onMounted可以获取DOM

         onBeforeUpdate获取的是更新之前的DOM,onUpdated获取的是更新之后的DOM

       onBeforeUnmount()在组件卸载之前调用, onUnmounted在组件实例被卸载之后调用

7. 添加了Suspense异步依赖

       简单的来说,就是子组件中有多个一个加载的时候需要所有的异步加载完成后才会展示整个内容

             

Vue.js是一种流行的JavaScript框架,用于构建用户界面。Vue 2和Vue 3是Vue.js的两个主要版本,它们之间有一些重要的差异。 1. 性能优化:Vue 3在性能方面进行了许多改进。它引入了一个新的响应式系统,使用Proxy代理对象来跟踪数据变化,Vue 2的Object.defineProperty方法,Proxy具有更好的性能。此外,Vue 3还引入了静态树提升(Static Tree Hoisting)和基于模板的代码分割(Template-based Code Splitting)等优化技术,提高了应用程序的加载速度和运行效率。 2. Composition API:Vue 3引入了Composition API,这是一个新的API风格,使得组件逻辑更加灵活和可组合。与Vue 2的Options API比,Composition API允许开发者根据功能而不是组件选项来组织代码,使得代码更易于维护和重用。 3. 更小的包体积:Vue 3通过使用Tree-shaking技术和对内部代码进行优化,使得打包后的文件更小。这意味着在使用Vue 3时,应用程序的加载速度更快。 4. TypeScript支持:Vue 3对TypeScript的支持更加完善。它提供了更好的类型推断和类型检查,使得在使用TypeScript开发Vue应用程序时更加方便和可靠。 5. 其他改进:Vue 3还带来了一些其他的改进,如Teleport(传送门)功能,用于在DOM中的任何位置渲染组件;Fragments(片段)功能,用于在组件中返回多个根元素;Suspense(异步占位)功能,用于优化异步组件的加载体验等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值