vue3 知识点快速入门整理

news/2025/10/2 12:22:16/文章来源:https://www.cnblogs.com/llx--20190411/p/19123207

vue3知识整合

  视频讲解参考: 上尚硅谷Vue3入门到实战:https://www.bilibili.com/video/BV1Za4y1r7KE/?spm_id_from=333.337.search-card.all.click&vd_source=ef0d33a686084368f4ac59c8af6ffb72

  作者笔记: https://gitee.com/marina-37/vue3_vite_ts.git

Vue3 教程简介

  在Vue3 中 

    1.编码语言:javaScript, TypeScript(vue3推介TypeScript)

    2.代码风格:组合式API, 选项式API (vue3推介组合式API)

    3.简写形式: setup语法糖(最重要)

  本课程采用的方式:

     TypeScript  +  组合式API  +  setup语法糖

     主要是vue3的语法

  内容丰富

    1.核心:ref, reactive,computed, watch, 生命周期 .........

    2.常用: hooks, 自定义ref, 路由,pinia, mitt ........

    3.面试:组件通信, 响应式相关API ......

1.Vue3简介

1 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n
2 经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者
3 官方发版地址:Release v3.0.0 One Piece · vuejs/core
4 截止2023年10月,最新的公开版本为:3.3.4
vue3 简介
1 1.1. 【性能的提升】
2 打包大小减少41%3 
4 初次渲染快55%, 更新渲染快133%5 
6 内存减少54%。
1.1 性能的提升
1 1.2.【 源码的升级】
2   使用Proxy 代替 defineProperty 实现响应式
3 
4   重写虚拟DOM的实现和 Tree-shaking.
1.2.【 源码的升级】
1 1.3. 【拥抱TypeScript】
2 Vue3可以更好的支持TypeScript。
1.3. 【拥抱TypeScript】

1.4. 【新的特性】

  1. Composition API (组合API):

     setup

     ref 与 reactive

     computed 与 watch

  2.新的内置组件:

    Fragment 

    Teleport

    Suspense

    ...............

  3.其他改变:

    新的生命周期钩子

    data 选项应始终被声明为一个函数

    移除keyCode支持作为 v-on 的修饰符

    ........

2.创建Vue3工程

 1 2.1. 【基于 vue-cli 创建】
 2 
 3 ## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上
 4 vue --version
 5 
 6 ## 安装或者升级你的@vue/cli 
 7 npm install -g @vue/cli
 8 
 9 ## 执行创建命令
10 vue create vue_test
11 
12 ##  随后选择3.x
13 ##  Choose a version of Vue.js that you want to start the project with (Use arrow keys)
14 ##  > 3.x
15 ##    2.x
16 
17 ## 启动
18 cd vue_test
19 npm run serve
2.1. 【基于 vue-cli 创建】 vue2常用, vue3 不推荐

2.2 基于vite 创建(推荐)

  vite 是新一代前端构建工具, 官网地址:https://vitejs.cn,

  vite的优势如下:

    1.轻量快速的热重载(HMR),能实现极速的服务启动。

    2.对 TypeScript, JSX, CSS 等支持开箱即用

    3.真正的按需编译,不再等待整个应用编译完成

    4,.webpack 构建 与 vite 构建对比图示如下

webpack

image

vite:

image

  • 具体操作如下(点击查看官方文档)

      ## 1.创建命令:

  npm create vue@latest

 1 ## 2.具体配置
 2 ## 配置项目名称
 3 √ Project name: vue3_test
 4 ## 是否添加TypeScript支持
 5 √ Add TypeScript?  Yes
 6 ## 是否添加JSX支持
 7 √ Add JSX Support?  No
 8 ## 是否添加路由环境
 9 √ Add Vue Router for Single Page Application development?  No
10 ## 是否添加pinia环境
11 √ Add Pinia for state management?  No
12 ## 是否添加单元测试
13 √ Add Vitest for Unit Testing?  No
14 ## 是否添加端到端测试方案
15 √ Add an End-to-End Testing Solution? » No
16 ## 是否添加ESLint语法检查
17 √ Add ESLint for code quality?  Yes
18 ## 是否添加Prettiert代码格式化
19 √ Add Prettier for code formatting?  No
2.具体配置

 完整文件目录:index.html是入口

image

index.html 中 src = src/main.ts 指向项目的具体组件

image

执行命令 npm run dev  

   需要 在 package.json 文件中 scripts 下 提前配置

image

 src/main.ts 做了三件事:

  1创建应用,

  2导入根组件,

  3.引用

image

 安装官方推荐的vscode插件

image

总结:

  • Vite 项目中,index.html 是项目的入口文件,在项目最外层。
  • 加载index.html后,Vite 解析 <script type="module" src="xxx"> 指向的JavaScript
  • Vue3**中是通过 **createApp 函数创建一个应用实例。
004.编写App组件
005.一个简单的效果
006.OptionsAPI 与 CompositionAPI
007.setup概述
008.setup的返回值
009.setup与OptionsAPI
010.setup的语法糖
011.ref创建_基本类型的响应式数据
012.reactive创建_对象类型的响应式数据
013.ref创建_对象类型的响应式数据
014.ref对比reactive
015.toRefs与toRef
016.computed计算属性
017.watch监视_情况一
018.watch监视_情况二
019.watch监视_情况三
020.watch监视_情况四
021.watch监视_情况五
022.watchEffect
023.标签的ref属性
024.回顾TS中的_接口_泛型_自定义类型
025.props的使用
026.对生命周期的理解
027.Vue2的生命周期
028.Vue3的生命周期
029.自定义Hooks
030.对路由的理解
031.路由_基本切换效果
032.路由_两个注意点
033.路由_路由器工作模式
034.路由_to的两种写法
035.路由_命名路由
036.路由_嵌套路由
037.路由_query参数
038.路由_params参数
039.路由_props配置
040.路由_replace属性
041.路由_编程式路由导航
042.路由_重定向
043.对Pinia的理解
044.准备一个效果
045.搭建pinia环境
046.存储+读取数据
047.修改数据(三种方式)
048.storeToRefs
049.getters的使用
050.$subscribe的使用
051.store组合式写法
052.组件通信_方式1_props
053.组件通信_方式2_自定义事件
054.组件通信_方式3_mitt
055.组件通信_方式4_v-model
056.组件通信_v-model的细节
057.组件通信_方式5_$attrs
058.组件通信_方式6_$refs与$parent
059.一个注意点
060.组件通信_方式7_provide_inject
061.插槽_默认插槽
062.插槽_具名插槽
063.插槽_作用域插槽
064.shallowRef 与 shallowReactive
065.readonly 与 shallowReadonly
066.toRaw与markRaw
067.customRef的使用
068.Teleport
069.Suspense
070.全局API转移到应用对象

071.Vue3的非兼容性改变

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

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

相关文章

红色面纱

复兴,复兴。 口号响彻很久,然而前路始终没有头。口号真是个天才的发明,它让喊它听它的人们始终保有一种无厘头的亢奋。这样的亢奋出自原始的冲动本能,在一些特定时候确确实实能出现一些意想不到的奇迹。只是这样的…

创建 SQL Server 数据库

use master go-- 如果存在这个数据库名称 ,否则删除 if exists(select * from sysdatabases where name = MyFirstDB) drop database MyFirstDB-- 创建数据库 create database MyFirstDB on primary (name=MyFirstDB_…

网站友情链接很重要吗做公众号主页面的有哪些网站

线上OJ&#xff1a; 一本通&#xff1a;http://ybt.ssoier.cn:8088/problem_show.php?pid1417\ 核心思想 首先、本题中提到 “ 至少 要花多少金币改造机器人&#xff0c;能获得 至少 k分 ”。看到这样的话语&#xff0c;基本可以考虑要使用 二分答案。 那么&#xff0c;本题中…

2025上海殡葬一条龙服务优质推荐:福孝堂文化用品公司贴心之

2025上海殡葬一条龙服务优质推荐:福孝堂文化用品公司贴心之选在上海这座繁华都市,殡葬一条龙服务承载着对逝者的尊重和对生者的慰藉。随着社会的发展,人们对殡葬服务的质量和专业性提出了更高要求。然而,当前上海殡…

2025上海寿衣厂家推荐福孝堂,专注传统工艺与贴心服务

2025上海寿衣厂家推荐福孝堂,专注传统工艺与贴心服务在当代社会,随着人口老龄化程度不断加深,殡葬用品行业面临着前所未有的技术挑战。据统计数据显示,上海地区年殡葬服务需求量呈现稳定增长趋势,其中寿衣作为重要…

wordpress中文站微网站用什么做的

块元素的特点 1.支持所有样式 2.块级元素 独占一行 3.块级元素默认宽度和父元素一样 常用块元素块级元素 一般 div p ol ul h1-h6 li dl dt dd 等都是 初始化(样式重置) 1.实际开发中&#xff0c;我们会把这些默认的样式在样式定义开头清除掉&#xff0c;清除掉这些默认样式&…

2025上海骨灰盒厂家推荐,福孝堂专业定制与暖心服务口碑之选

2025上海骨灰盒厂家推荐,福孝堂专业定制与暖心服务口碑之选在当代殡葬服务领域,骨灰盒作为承载逝者尊严与生者哀思的重要载体,其品质与服务的专业性日益受到社会各界的关注。随着2025年的临近,上海地区的殡葬服务行…

IDEA 2024 中创建 Maven 项目的详细步骤 - 指南

IDEA 2024 中创建 Maven 项目的详细步骤 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

房地产网站的设计要求网站开发招标文件

文章目录 1. 概念介绍2. 使用方法2.1 基本用法2.2 缓冲原理 3. 示例代码4. 内容总结 我们在上一章回中介绍了"FadeInImage组件"相关的内容&#xff0c;本章回中将介绍CachedNetworkImage组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章…

公司网站制作方案关于重新建设网站的请示

戳蓝字“CSDN云计算”关注我们哦&#xff01;Spring是为解决企业应用程序开发复杂性而创建的一个Java开源框架&#xff0c;应用非常广泛。业内非常流行的SSH架构中的其中一个"S"指的就是Spring。今天我们就一起来看看关于Spring的精华问答&#xff01;1Q&#xff1a;…

【Groovy】流程控制

1 选择结构 ​ Groovy 中选择结构主要包含 if -else、switch 语句,并且可以返回结果。 1.1 if-else def score = 85 if (score >= 90) {println("优秀") } else if (score >= 80) {println("…

【Groovy】函数、闭包、泛型

1 函数 1.1 无参函数 ​ 1)常规调用 void myFun() {println("myFun") }myFun() // 打印: myFun​ 2)字符串声明函数 void "myFun"() {println("myFun") }myFun() // 打印: myFu…

wordpress软件网站模板下载莱芜人力资源部最新招聘信息

SQLite 是一个嵌入式 SQL 数据库引擎&#xff0c;它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。 SQLite 的代码属于公共领域&#xff0c;因此可以免费用于任何商业或私人目的。 SQLite 是世界上部署最广泛的数据库&#xff0c;其应用程序数量之多&#xff0c…

关于onnxruntime依赖报错问题

最近在做图片审核功能,在开发时遇到了onnxruntime依赖报错报错内容在尝试多次后发现造成这一错误的主要原因是因为onnxruntime的版本和python版本不匹配 解决方法: 切换onnxruntime版本本次版本为

LinuxC++——spdlog日志运用入门

LinuxC++——spdlog日志运用入门2025-10-02 11:58 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

大型门户网站建设包括哪些方面sns社交网站源码

文章导读本文介绍了OpenKG在区块链方向的一些实践和尝试。经过一年努力&#xff0c;OpenKG初步完成了底层区块链平台测试&#xff0c;以及OpenKG数据集、工具集和Openbase细粒度知识众包的上链测试工作。在这个测试平台中&#xff0c;已包含1033位确权的知识贡献者。上链测试两…

站长之家网页模板wordpress php speedy

LoadRunner中Action的迭代次数的设置和运行场景中设置 LoadRunner是怎么重复迭代和怎么增加并发运行的呢&#xff1f;另外&#xff0c;在参数化时&#xff0c;对于一次压力测试中均只能用一次的资源应该怎么参数化呢&#xff1f;就是说这些资源用了一次就不能在用了的。&#x…

微信平台制作网站开发上海网站排名优化公司

ID&#xff1a;技术让梦想更伟大整理:李肖遥申明&#xff1a;所有图片都源自网络素材&#xff0c;侵删。这是我自己收集的&#xff0c;并花大量时间整理的可说最全的Linux/C/C思维导图。有些图可能不是高清&#xff0c;但是放大即可看清楚。linux思维导图认识LinuxLinux学习路径…

做免费网站安全吗WordPress能装ssr

发表于&#xff1a;2009-03-04 09:51:44 楼主IT人不要一直做技术 【引子】感觉这篇文章很有深意&#xff0c;正是我所想说的话。希望大家有借鉴。 【原文】 我现在是自己做&#xff0c;但我此前有多年在从事软件开发工作&#xff0c;当回过头来想一想自己&#xff0c;觉得特别…

C++设计模式之行为型模式:职责链模式(Chain of Responsibility) - 实践

C++设计模式之行为型模式:职责链模式(Chain of Responsibility) - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family…