Vue3新特性合集

Vue3

简介

‌‌Vue 3‌ 是‌Vue.js的最新版本,它带来了许多改进和新的特性,旨在提供更好的性能更强的类型支持以及更灵活的组件开发方式。Vue 3的推出是为了解决Vue 2中存在的一些限制,如响应式系统的限制和虚拟DOM的效率问题。Vue 3在多个方面进行了重大改进,包括其核心的响应式系统和虚拟DOM的实现。‌

优点

体积更小 性能更好 更好的TS支持 更好的代码组织 更好的逻辑抽离 更多新功能

新特性

  1. 重写响应式数据(proxy)
  2. VDOM重写,性能提升,对模板编译进行了优化,diff 算法,path flag 静态节点
  3. Fragment,组件上层增加了虚拟节点,但是不会渲染出来
  4. Tree-shaking 支持,引用并使用了才打包(大量的 API 挂载在 Vue 对象的原型上,难以实现TreeShaking)
  5. Composition API,更好的代码组织,相关逻辑比较集中,setup ref 生命周期钩子 reactive 等
  6. TS支持,Vue2 的 TS 支持不友好,所有属性放在this对象上,难以推导数组的数据类型
  7. 异步组件写法:defineAsyncComponent(() => import(‘…/ele.vue’))
  8. Teleport :传送组件,指定该子组件渲染到父组件之外的其它 DOM 节点下,类似于弹窗中的弹窗放到body中
  9. Suspense :通过插槽实现的 loading 异步加载组件,加载插槽名为 fallback
  10. 多事件:对 DOM 元素的一个操作(比如点击)可以可以绑定多个事件
  11. createApp :写法不同,之前是 new Vue、Vue.use(),现在是 Vue.createApp()、app.use()
  12. 移除 .async 成为v-model:(async 子组件修改父组件传入的参数 双向绑定)
  13. emits 事件:没有this了,setup第二个参数传入emit触发事件,子组件emits事件集合
  14. 生命周期 :destory变成unmount

快在哪里

  1. proxy 和 reflect 实现响应式
  2. diff 算法更高效,同层双端比较
  3. PatchFlag 静态标记:编译模板时将不同的动态节点标记(text props),diff算法优化 区分不同类型的节点(静态节点不进行对比)
  4. hoistStatic 静态提升:编译时将静态节点的定义提升到顶级作用域 缓存起来,多个相邻的静态节点会被合并,拿空间换时间的策略
  5. tree-shaking :编译时根据使用应用引入对应的API,不会一股脑全部引用
  6. cacheHandler :编译缓存事件,有缓存走缓存,没缓存重新定义,拿空间换时间
  7. SSR 优化:静态节点直接输出,绕过vdom,动态节点仍然动态渲染

Options API和Composition API对比

CP带来了更好打代码组织、更好的逻辑复用、更好的类型推导
(相关的代码逻辑比较集中)
小型、简单项目可沿用OP,逻辑复杂的大型项目使用CP更便于维护

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/56762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设定义结构变量

在C语言中,可以使用struct关键字来定义结构变量。结构变量是由多个不同类型的成员变量组成的数据类型,可以在一个变量中存储多个相关的数据。 定义结构变量的语法如下: struct 结构名 {数据类型 成员1;数据类型 成员2;... };例如&#xff0…

Python进阶知识2

Python类和对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成…

[Javase]封装、继承、多态与异常处理

文章目录 一、前言二、封装1、封装的思想2、封装代码层面的体现 三、继承1、继承的概念和好处2、继承代码层面的体现 四、多态1、多态的概念2、多态的好处和三要素2、多态代码层面的体现 五、异常处理1、try-catch-finally结构详解2、throw\throws 一、前言 本文章适合有一定面…

#保持每天更新第一天(1)_文本预处理小技巧_中英文翻译分割技巧_从中文右边空格分割,用rsplit(‘ ‘, 1)

-- coding: utf-8 -- “”" Created on Fri Oct 18 20:58:07 2024 author: M.D “”" import pandas as pd df pd.read_csv(“transversalSkillsCollection_翻译.csv”) data df[“altLabels 替代标签”] 原始数据,每条数据由英文和中文组成 data…

10.15.2024刷华为OD C题型(二)

10.15.2024刷华为OD C题型(二) 密码输入检测智能成绩表 如果是目标院校150分能过,而且这道题是两百分的话我就阿弥陀佛了。 这类简单类型的字符串处理题目一看就有思路,起码能做,遇到那种稍微加点数学的,感…

【CMake】为可执行程序或静态库添加 Qt 资源文件,静态库不生效问题

【CMake】添加静态库中的 Qt 资源 文章目录 可执行程序1. 创建资源文件(.qrc)2. 修改 CMakeLists.txt3. 使用资源文件 静态库1. 修改 CMakeLists.txt2. 使用资源2.1 初始化资源文件2.2 可执行程序中调用 这里介绍的不是使用 Qt 创建工程时默认的 CMakeLi…

【从零开始的LeetCode-算法】3099. 哈沙德数

如果一个整数能够被其各个数位上的数字之和整除,则称之为 哈沙德数(Harshad number)。给你一个整数 x 。如果 x 是 哈沙德数 ,则返回 x 各个数位上的数字之和,否则,返回 -1 。 示例 1: 输入&am…

MySQL增删改进阶

目录 1.数据库约束 1.1约束类型 1.2 not null约束 1.3 unique:唯一约束 1.4 default:默认约束 1.5 primary key:主键约束 1.6 foreign key:外键约束 1.7 check约束(了解) 2.表的设计 3.新增(进阶&…

刷题训练之多源 BFS

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握多源 BFS算法。 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷…

C++(stack和queue)

1. stack的介绍、使用和实现 1.1 stack的介绍 stl里的stack其实和数据结构内的stack和前面数据结构的栈不能说百分百一样,但也有百分之90是一样的,他们的特性都是LIFO(last in first out)先进后出的原则,前面有类似的…

VideoCLIP-XL:推进视频CLIP模型对长描述的理解

摘要 对比语言-图像预训练(CLIP)已被广泛研究并应用于众多领域。然而,预训练过程中对简短摘要文本的重视阻碍了CLIP理解长描述的能力。在视频方面,这个问题尤为严重,因为视频通常包含大量详细内容。在本文中&#xff…

如何看一个flutter项目的具体flutter版本

查看pubspec.lock文件 这个项目实际运行的就是 flutter 3.16.6 版本的

Leetcode 1489. 找到最小生成树里的关键边和伪关键边

1.题目基本信息 1.1.题目描述 给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 toi 节点之间有一条带权无向边。最小生成树 (MST) 是给定图中边的一…

MFC扩展库BCGControlBar Pro v35.1新版亮点:改进网格控件性能

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.1已全新发布了,这个版本改进网格控件的性能、增强工具栏编辑器功能等。 …

【puppeteer】wvp-puppeteer制作 过程

目录 最后的结论 制作windows&ubuntu的docker 重启桌面上的docker 命令重启 通过 Docker Desktop 图形界面重启 制作centos docker 测试 参考文档 最后的结论 ubuntu && windows 使用 dualvenregistry:5000/wvp-puppeteer:1.0 centos7 使用:…

通过OpenCV实现 Lucas-Kanade 算法

目录 简介 Lucas-Kanade 光流算法 实现步骤 1. 导入所需库 2. 视频捕捉与初始化 3. 设置特征点参数 4. 创建掩模 5. 光流估计循环 6. 释放资源 结论 简介 在计算机视觉领域,光流估计是一种追踪物体运动的技术。它通过比较连续帧之间的像素强度变化来估计图…

第6篇:无线与移动网络

目录 引言 6.1 无线网络的基础概念 6.2 无线局域网(WLAN)与IEEE 802.11 6.3 蓝牙与无线个域网(WPAN) 6.4 无线城域网(WMAN)与WiMax 6.5 ZigBee与智能家居 6.6 移动蜂窝网络(3G/4G/5G&…

【Linux】总线-设备-驱动模型

背景 前面,我们介绍了写驱动代码的一些常规步骤,并且也写了最基本的驱动代码,但是那些代码存在着问题,我们将硬件的信息都写进了驱动里了,如果我们在杂项设备驱动中控制led,那么会在硬件操作接口中包含硬件…

【SQL实验】数据库、表、模式的SQL语句操作

完整代码在文章末尾 1、数据库的建立、删除和修改操作 (1)使用SQL语句创建数据库EDUC,并进行如下设置: 数据库文件和日志文件的逻辑名称分别为:Student_data和Student_log;数据文件的物理文件名为‘C:\DA…

基于Java语言的培训平台+学习平台+在线学习培训系统+教育平台+教育学习系统+课程学习平台

简述 企业培训平台企业考试系统培训平台考试系统企业大学企业视频网站视频学习平台 介绍 企业培训平台支持企业培训考试全流程,在线学习、在线考试,成熟的企业培训考试解决方案,充分满足企业培训需求。 独立部署,仅内部员工登录…