vue2和vue3的区别详解
vue2 VS vue3
| 对比 | vue2 | vue3 |
| 配置脚手架 | cmd命令行 | 可视化方式创建脚⼿架 |
| 组件通信 | props、$emit、provide、$arrts、EventBus等 | props、$emit、provide、inject、arrts等 |
| 数据监听 | watch,computed | watch,watchEffect,computed |
| 双向绑定 | Object.defineProperty | ProxyAPI |
| ⽣命周期 | 四个阶段 | |
| api | 选项式Options API | 组合式Composition API |
双向数据绑定原理
vue2 的双向数据绑定是通过ES5的⼀个API,Object.defineProperty()对数据进⾏劫持,结合发布订阅模式的⽅式来实现的,也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变;
其核心是 Object.defineProperty()方法,给Vue中的数据绑定get和set方法,当获取数据的时候,调用get方法,修改data中的数据的时候调用set方法,通过watcher监听器去更新视图,完成数据的双向绑定。
vue3 中使⽤了ES6的ProxyAPI对数据代理,通过 reactive() 函数给每⼀个对象都包⼀层 Proxy,通过 Proxy 监听属性的变化,从⽽实现对数据的监控。
相对于Object.definePropery()有以几个优点:1.Proxy直接代理整个对象而非对象属性,这样只需要做一层代理就可以监听同级结构下的所有属性变化, 包括新增属性和删除属性。 2.Proxy可以监听数组的变化。
生命周期对比
| vue2生命周期 | vue3生命周期 | 描述 |
| beforeCreate() | 已去掉setup代替 | 创建阶段 |
| Created() | 已去掉setup代替 | |
| beforeMount() | onBeforeMount | 挂载阶段 |
| mounted() | onMounted | |
| beforeUpdate | onBeforeUpdate | 更新阶段 |
| updated | onUpdated | |
| beforeDestroy | onBeforeUnmount | 销毁阶段 |
| destroved | onUnmounted |
建立数据发生了变化
vue2把数据放在data中,vue3把数据放在setup中。
是否支持碎片化
vue2.0只允许有一个根标签,vue3.0支持碎片化,可以拥有多个根节点。
Vue2
<template><div><header></header><main></main><footer></footer></div>
</template>
Vue3
<template><header></header><main></main><footer></footer>
</template>
组件通信
- props通信
- vu3 父传子

- vue2父传子
1.定义数据 data(){return{goodsList:[{id:1,name:'方便面',price:2.5,info:'好吃不贵'},{id:2,name:'火腿肠',price:2,info:'价钱合理'},{id:3,name:'鹌鹑蛋',price:4.5,info:'物美价廉'},]}},2.放到模板的子组件中 <MyTest :item="goodsList[1]"></MyTest>3.子组件props接收export default {//接收数据props:['item']} - vue3子传父
- vu3 父传子
相关文章:
vue2和vue3的区别详解
vue2 VS vue3 对比vue2vue3配置脚手架cmd命令行可视化方式创建脚⼿架组件通信props、$emit、provide、$arrts、EventBus等props、$emit、provide、inject、arrts等数据监听watch,computedwatch,watchEffect,computed双向绑定Object.definePropertyProxyAPI⽣命周期四个阶段befo…...
一文读懂LEED绿建
LEED绿建,即获得LEED(Leadership in Energy and Environmental Design)认证的建筑,是一个旨在提高建筑环境性能和健康性能的评估体系。以下是对LEED绿建的详细解读: 一、LEED体系概述 定义:LEED是由美国绿…...
git上feature合并到development分支
git上从development分支拉了一个feature分支开发新内容,development也有新内容在开发,feature分支内容开发完毕后,如何合并feature分支新内容到development分支,要确保不会覆盖development分支的新内容 以下是将 feature 分支的新…...
NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备:大华IPC摄像头局域网访问异常解决办法
在当今社会,安全监控已成为各类场所不可或缺的一部分。无论是家庭、学校、商业场所还是公共场所,安全监控设备都扮演着至关重要的角色。在众多监控品牌中,大华IPC摄像头凭借其高清画质、强大功能和卓越稳定性,赢得了市场的广泛认可…...
校园二手交易网站毕业设计基于SpringBootSSM框架
目录 一、引言 二、需求分析 2.1用户需求分析 2.1.1学生用户 2.1.2管理员 2.2系统功能需求 2.3系统非功能需求 2.4技术需求 2.4.1 技术选择 2.4.2系统架构 三、详细设计 3.1系统架构设计 3.2前端设计 3.3后端设计 3.4数据库设计 本文介绍…...
基于大语言模型意图识别和实体提取功能;具体ZK数值例子:加密货币交易验证;
目录 基于大语言模型意图识别和实体提取功能 案例背景 零知识证明过程 具体例子 具体举例(简化) 具体ZK数值例子:加密货币交易验证 定义多项式 承诺 挑战 证明构造 证明验证 结论 zkLLM Zero Knowledge Proofs for Large Language Models 在大模型验证过程中处…...
论文笔记 SuDORMRF:EFFICIENT NETWORKS FOR UNIVERSAL AUDIO SOURCE SEPARATION
SUDORMRF: EFFICIENT NETWORKS FOR UNIVERSAL AUDIO SOURCE SEPARATION 人的精神寄托可以是音乐,可以是书籍,可以是运动,可以是工作,可以是山川湖海,唯独不可以是人。 Depthwise Separable Convolution 深度分离卷积&a…...
机器学习系列----KNN分类
目录 前言 一.KNN算法的基本原理 二.KNN分类的实现 三.总结 前言 在机器学习领域,K近邻算法(K-Nearest Neighbors, KNN)是一种非常直观且常用的分类算法。它是一种基于实例的学习方法,也被称为懒学习(Lazy Learnin…...
贪心算法day 06
1.最长回文串 链接:. - 力扣(LeetCode) 思路:计算每个字符个数如果是偶数个那么肯定可以组成回文串,如果是奇数个就会有一个无法组成回文串,但是在最中间还是可以有一个不是成队的字符这个字符就从多的奇…...
HTML之列表学习记录
练习题: 图所示为一个问卷调查网页,请制作出来。要求:大标题用h1标签;小题目用h3标签;前两个问题使用有序列表;最后一个问题使用无序列表。 代码: <!DOCTYPE html> <html> <he…...
Redo与Undo的区别:数据库事务的恢复与撤销机制
在数据库中,redo 和 undo 是两个非常重要的概念,它们主要用于事务管理和恢复机制,确保数据的一致性和完整性。 下面分别解释这两个概念: Redo(重做) 定义:redo 操作记录了事务对数据库所做的所…...
【话题讨论】AI赋能电商:创新应用与销售效率的双轮驱动
目录 引言 一、AI技术在电商中的创新应用 1.1 购物推荐 1.2 会员分类 1.3 商品定价 1.4 用户体验 总结 二、AI技术提高电商平台销售效率 2.1 订单处理 2.2 物流配送 2.3 产品流转效率 2.4 库存管理和订单管理效率 2.5 实际案例分析 三、挑战和未来发展趋势 3.1…...
重构开发之道,Blackbox.AI为技术注入智能新动力
本文目录 一、引言二、Blackbox.AI实战体验2.1 基于网页界面生成前端代码进行应用开发2.2 与AI助手实现实时智能对话2.3 重塑大型文件交互方式2.4 链接Github仓库进行对话编程 三、总结 一、引言 在生产力工具加速进化的浪潮中,Blackbox.AI开始崭露头角,…...
机器学习在医疗健康领域的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 机器学习在医疗健康领域的应用 机器学习在医疗健康领域的应用 机器学习在医疗健康领域的应用 引言 机器学习概述 定义与原理 发展…...
M芯片Mac构建Dockerfile - 注意事项
由于MacBook的M芯片架构与intel不同,交叉构建Linux服务器docker镜像,需要以下步骤完成: 编写好Dockerfile在命令行中,执行构建命令: docker buildx build --platform linux/amd64 -t ${image_name}:${tag} ....
系统架构设计师论文
软考官网:中国计算机技术职业资格网 (ruankao.org.cn) 2019年 2019年下半年试题二:论软件系统架构评估及其应用...
速盾:CDN 和高防有什么区别?
在网络安全和性能优化领域,CDN(Content Delivery Network,内容分发网络)和高防服务是两个重要的概念,它们在功能、原理和应用场景方面存在诸多区别。 一、CDN (一)基本原理与功能 内容加速分发…...
goframe开发一个企业网站 rabbitmq队例15
RabbitMQ消息队列封装 在目录internal/pkg/rabbitmq/rabbitmq.go # 消息队列配置 mq:# 消息队列类型: rocketmq 或 rabbitmqtype: "rabbitmq"# 是否启用消息队列enabled: truerocketmq:nameServer: "127.0.0.1:9876"producerGroup: "myProducerGrou…...
设计模式-七个基本原则之一-迪米特法则 + 案例
迪米特法则:(LoD) 面向对象七个基本原则之一 只与直接的朋友通信:对象应只与自己直接关联的对象通信,例如:方法参数、返回值、创建的对象。避免“链式调用”:尽量避免通过多个对象链进行调用。例如,a.getB().getC().do…...
【数学二】线性代数-二次型
考试要求 1、了解二次型的概念, 会用矩阵形式表示二次型,了解合同变换与合同矩阵的概念. 2、了解二次型的秩的概念,了解二次型的标准形、规范形等概念,了解惯性定理,会用正交变换和配方法化二次型为标准形。 3、理解正定二次型、正定矩阵的概念,并掌握其判别法. 二次型…...
如何在Photoshop中构建AI原生工作流:SD-PPP的技术架构解析
如何在Photoshop中构建AI原生工作流:SD-PPP的技术架构解析 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp 当我们谈论AI与创意工具的结合时,通常面临一个核心挑战:如何在保持专业…...
CANN Skills:用 AIGC 内容帮助开发者学习昇腾
CANN 开源社区的 skills 仓库是一个挺有意思的项目。它不是一个技术库,不提供任何 API 或算子——它是一个由 AI Agent 驱动的技术内容 Skill 合集。 每份 Skill 是一份 SKILL.md 文件,定义了 Agent 写特定主题技术文章的行为规则——术语规范、文章类型…...
收藏 | LangChain vs LlamaIndex:大模型应用开发框架深度解析,小白也能轻松入门!
本文深入对比了LangChain和LlamaIndex两大框架的核心定位、功能模块及适用场景。LangChain是一个通用的LLM应用编排框架,通过LangGraph支持复杂Agent流程;LlamaIndex则专注于数据索引和检索,提供丰富的数据连接器和索引类型。文章还介绍了如何…...
别再让治具压坏你的板子!手把手教你用TSK-64应力测试仪搞定ICT/FCT应力管控
从应力失控到精准管控:TSK-64测试仪在ICT/FCT产线的实战指南 当产线突然出现批量PCBA功能异常时,多数工程师的第一反应是检查焊接质量或元器件性能,却往往忽略了治具施加的机械应力这个"隐形杀手"。某汽车电子制造商曾因FCT治具压力…...
「阅读」APP书源配置与管理完整指南:从新手到高级用户的实用教程
「阅读」APP书源配置与管理完整指南:从新手到高级用户的实用教程 【免费下载链接】Yuedu 📚「阅读」自用书源分享 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 「阅读」APP作为一款开源的小说阅读工具,其核心功能依赖于书源的…...
如何用嘎嘎降AI处理心理学论文:心理学研究生毕业论文降AI4.8元完整操作教程
如何用嘎嘎降AI处理心理学论文:心理学研究生毕业论文降AI4.8元完整操作教程 关于心理学论文降AI教程,有几个细节提前知道能少走很多弯路。 核心用嘎嘎降AI(www.aigcleaner.com),4.8元,达标率99.26%。这篇…...
从“佩戴感知”到“无感融入”:UWB vs 镜像视界——空间智能的代际跃迁
从“佩戴感知”到“无感融入”:UWB vs 镜像视界——空间智能的代际跃迁空间智能产业正迎来划时代理念革新,行业认知正式完成从主动佩戴式感知向全域无感化融入的核心转变。以UWB为代表的传统定位技术,始终停留在依托外接设备实现信息采集的初…...
【Python range() 函数详解】
文章目录Python range() 函数详解 ✨什么是range()函数? 🤔range()的参数和用法 📊单参数形式:range(stop)双参数形式:range(start, stop)三参数形式:range(start, stop, step)range()对象的特点 …...
如何快速掌握智能电源管理:macOS用户的完整配置指南
如何快速掌握智能电源管理:macOS用户的完整配置指南 【免费下载链接】SleeperX MacBook prevent idle/lid sleep! Hackintosh sleep on low battery capacity. 项目地址: https://gitcode.com/gh_mirrors/sl/SleeperX SleeperX是一款专为macOS用户设计的开源…...
MulimgViewer 终极指南:高效图片对比与拼接的完整解决方案
MulimgViewer 终极指南:高效图片对比与拼接的完整解决方案 【免费下载链接】MulimgViewer MulimgViewer is a multi-image viewer that can open multiple images in one interface, which is convenient for image comparison and image stitching. 项目地址: ht…...
