为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第15天 Vue3 + Typescript 从0到1开发通用基础组件 5

标签:
Vue.js

第一模块:

课程名称:Vue3 + Typescript 从0到1开发通用基础组件

章节名称:3-14 ~ 3-19

讲师姓名:张轩


第二模块:

内容概述:

3-14 ~ 3-19 小节主要讲解了vue3在全局API上的变化,teleport和suspense


第三模块:

学习心得:

3-14 steup函数的两个参数

setup函数中的两个参数:props、context

spacer.gifhttps://img3.sycdn.imooc.com/6370ed3300016e6d08700576.jpg


3-15 vue3 teleport 1

teleport 瞬间传送

spacer.gifhttps://img3.sycdn.imooc.com/6370ed3b0001e97e08610428.jpg


3-16 vue3 teleport 2


3-17 vue3 suspense 1

spacer.gifhttps://img2.sycdn.imooc.com/6370ed4300011e3d07290270.jpg

eg:

spacer.gifhttps://img2.sycdn.imooc.com/6370ed5d0001df6314740520.jpg

3-18 vue3 suspense 2


3-19 vue3全局API的变化

vue3入口文件的写法变化:

spacer.gifhttps://img2.sycdn.imooc.com/6370ed6b0001d7ec06660539.jpg

https://img1.sycdn.imooc.com/6370ed7200017ce408700537.jpg

https://img3.sycdn.imooc.com/6370ed7d00012ebd07000561.jpg


Treeshaking:

打包工具提出的一个概念,直译就是【摇晃一棵树】,从而让死掉的叶子都掉落下来,这里死掉的叶子指的是:引入了但没有使用的东西

spacer.gifhttps://img1.sycdn.imooc.com/6370ed880001d7f506590591.jpg

从上面的vue3导入方式可以发现,都是具名导入的,从而可以使用Treeshaking的特性,减少打包后的体积。


补充:

一、TS变量声明

1.变量声明

3种变量的声明方式var、let、const,重点知道【作用域】和【变量提升】,这两块是面试常考的内容。

注意:使用 TypeScript 进行变量声明时,一般建议添加对应的变量类型。如果在变量声明时没有添加变量类型,那么TypeScript 会自动进行类型推导,得到正确的变量类型。


2.var声明

eg:var num = 10


2.1来看一个【作用域】的典型例题:

setTimeout函数是个【异步函数】,在这里会在for循环结束后在执行,而for循环结束后,i等于10,这个时候,在执行setTimeout函数,就会得到上面的结果。

问题根源:变量【作用域】


要得到【1 2  3 4 5 6 7 8 9】的运行结果,我们可以这样写:

写法1:调用函数,创建函数作用域:


写法2: 立即执行函数,创建函数作用域:【这个写法没见过,比较怪】


写法3: 通过 let 关键字创建块级作用域


小结:var定义的变量是【全局变量】,可以作用到整个js文件,而let定义的【块级变量】作用范围就是他所在的那个【块】,通过这个【块】可以和【块】内的代码【构成一个关系】,基于这个关系从而【克服】作用域不合理带来的问题。


2.2变量提升

......


小结:var和let在【变量提升】上存在不同:

  • var 会将变量的创建初始化都进行提升

  • let 只会将创建提升,而初始化未被提升,称之为暂时性死区

综上:使用var声明变量存在两个问题,【全局作用域】和【变量提升】,所以,不建议使用var来声明变量


3.let声明

基于var声明变量时的两个问题,一般在工程实践中使用let来声明变量。


let的一些特点:

3.1块级作用域

ES6之前,ECMScript的作用域只有2种:

  • 全局作用域

  • 函数作用域

ES6加上了let和const,这两个【块级作用域】,特点:定义在代码块中的变量在代码块被执行结束后会被释放掉


【块代码】:一对花括号中的一组代码语句

可以使用【块代码】替换【 立即执行函数】的写法


3.2重定义

使用var声明的时候,不论声明几次,最终只会得到一个。

上面的写法完全有效,不会报语法错误,所有 x 的声明其实都指向了同一个引用,但这也是很多 bug 产生的原因。 let 的声明就严格了许多


4.const声明

const作用域同let, 关键字 const 声明的变量,它被赋值后不能再改变。

注意:这里的不能改变,不是变量的值不能改动,而是变量指向的那个内存地址不得改动。

用 const 声明【基础数据类型】如布尔值、数字、字符串,可以理解为声明常量用const声明【引用类型】的数据,只能够保证指针不变,但【引用类型】的属性值是可变的


第四模块:

学习截图:

https://img1.sycdn.imooc.com/6370ec7400018e1d07530277.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消