自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 vue3中的watchEffect高级侦听器

立即执行传入的一个函数,同时响应式追踪其依赖,并在其依赖变更时重新运行该函数。

2024-05-14 13:22:17 276

原创 vue3中的watch侦听器

在有些情况下,我们需要在状态变化时执行一些“副作用”:例如更改DOM,或是根据异步操作的结果去修改另一处的状态。在组合式API中,我们可以使用watch函数在每次响应式状态发生变化时触发回调函数。watch函数可以侦听被ref和reactive包裹的数据。

2024-05-14 13:22:01 669

原创 vue3中的computed

computed计算属性就是当依赖的属性的值发生变化的时候,才会触发他的更改;如果依赖的值,不发生变化的时候,使用的是缓存中的属性值。

2024-05-13 09:00:52 414

原创 vue3中的toRef、toRefs和toRaw

toRef的作用是将一个响应式对象中的属性转换成单独的响应式引用。转换后的响应式引用会跟踪原始属性的变化。转换后的响应式可以被用于计算属性及监听器中。如果原始对象是非响应式的则不会更新视图,数据会改变。

2024-05-13 09:00:03 132

原创 vue3中的reactive、readonly和shallowReactive

readonly:拷贝一份proxy对象将其设置为只读。使用readonly时, 变量里的属性不可改变。当原本数据改变时,使用了readonly函数的值也会发生改变。在这个例子中,修改响应式对象中的age属性,readonly中的age属性也会随之更改。

2024-04-28 10:48:13 638

原创 vue3中的ref、isRef、shallowRef、triggerRef和customRef

接受一个参数值并返回一个响应式且可改变的ref对象。ref对象拥有一个指向内部值的单一属性,指向内部值。例:此时,页面上的str1也跟着变化使用ref获取dom。

2024-04-24 14:28:30 821

原创 nvm安装nodejs版本报错Could not retrieve https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt.

淘宝镜像源原本域名过期了,需要更换为最新的。

2024-04-24 14:28:02 287

原创 uni-app:App.vue中onLaunch请求接口异步,首页onLoad获取不到数据

最近在开发uniapp的h5项目,按着正常的逻辑来说启动h5页面,先触发App.vue中的onLaunch生命周期,随后触发onLoad。但其实不是,在触发onLaunch的同时也在触发要进入页面的onLoad,所以导致在onLoad里面拿不到onLaunch里的数据。

2024-04-22 08:44:04 355

原创 TypeScript25:发布(降噪)

编译完成后,将编译结果所在文件夹直接发布到npm上即可。

2024-04-22 08:39:37 181

原创 TypeScript24:TS中的声明文件

以 .d.ts 结尾的文件。声明文件作用:ts->js ,得不到类型声明。为JS代码提供类型声明。

2024-04-19 08:36:30 993

原创 TypeScript23:TS中预设的类型演算

源码中加上了 "?" ,代表可选: 成员为可选成员情况下: 后面加了个 "-?" 代表去掉可选源码中加了 readonly 关键字:源码中通过判断类型 T 中不继承于 U 的类型:

2024-04-19 08:36:16 570

原创 TypeScript22:三个关键字typeof、keyof 、in

TS中的typeof,书写的位置在类型约束的位置上,表示获取某个数据的类型。让b这个变量保持与a的类型一致。当typeof作用于类的时候,得到的类型,是该类的构造函数。将参数或者变量约束为构造函数时可以这样写:这里的代表的是类本身,而不是类的构造函数。

2024-04-18 09:30:53 484

原创 TypeScript21:装饰器

装饰器,能够带来额外的信息量,可以达到分离关注点的目的。上述两个问题产生的根源:某些信息,在定义时,能够附加的信息量有限。为某些属性、类、参数、方法提供元数据信息( metadata )。描述数据的数据。

2024-04-18 09:30:41 610

原创 TypeScript20:this指向约束

明确:大部分时候,this的指向取决于函数的调用方式。如果直接调用函数(全局调用), this 指向全局对象或 undefined (启用严格模式);如果使用对象.方法调用, this 指向对象本身;如果是 dom 事件的处理函数, this 指向事件处理对象。

2024-04-16 08:39:27 334

原创 TypeScript19:索引器

索引器:对象[值],使用成员表达式。如果想要开启严格的类型检查,需要在 ts.config.js 文件中进行配置:将 noImplicitAny 设置为 true,开启对隐式any 的类型检查。

2024-04-16 08:39:13 290

原创 TypeScript18:interface接口进阶

举个例子:有一个马戏团,马戏团中有很多动物,包括:狮子、老虎、猴子、狗。这些动物都具有共同的特征:名字、年龄、种类名称;还包含一个共同的方法:打招呼。它们各自有各自的技能,技能是可以通过训练改变的。狮子和老虎能进行火圈表演,猴子能进行平衡表演,狗能进行智慧表演。马戏团中有以下常见的技能:(2)建立子类,继承父类。(3)设计狮子、老虎类。(4)设计猴子类。(5)设计狗类。(6)传统调用 不适用接口实现时:系统中缺少对能力的定义 - 接口。面向对象领域中

2024-04-15 08:46:59 366

原创 TypeScript17:静态成员

静态成员是指,附着在类上的成员(属于某个构造函数的成员)使用static修饰的成员是静态成员,可以直接用类名调用。对象成员,属于某个类的对象;非实例成员,属于某个类。上面代码中,User作为一个用户类,每新建一个用户需要通过new方法来创建。新建的用户需要在类内部保存到数组中, 以便登陆时通过login来校验账户和密码,这时的users应为一个静态成员。如果为一个实例成员,则会导致每创建一个用户,users的值都会发生变化,无法进行登录校验。

2024-04-15 08:46:39 181

原创 TypeScript16:抽象类

有时,某个类只表示一个抽象概念,主要用于提取子类共有的成员,而不能直接创建它的对象。该类可以作为抽象类。给类前面加上abstract,表示该类是一个抽象类,不可以创建一个抽象类。

2024-03-12 10:24:18 363

原创 TypeScript15:类的继承

继承可以描述类与类之间的关系。如果 A 继承自 B ,则 A 中自动拥有 B 中的所有成员。

2024-03-07 08:50:49 1033

原创 TypeScript14:面向对象概述

面向对象:Oriented(基于)Object(事物),简称OO。是一种编程思想,它提出一切以对象为切入点思考问题。面向过程函数式编程。一功能流程为思考切入点,不太适合大型应用。以数学运算为思考切入点。以划分类为思考切入点。类是最小的功能单元。可以产生对象的模板。

2024-03-07 08:50:31 250

原创 TypeScript13:泛型

在函数名之后写上 :为函数指定一个泛型,名称为 T ,调用函数时传递一个 number 类型,则 T 为 number 类型,可以作为函数参数、函数返回值、和函数里面数值类型使用。下方示例中,为 T 指定了默认类型为 number 。

2024-03-05 15:34:06 506

原创 TypeScript12:类

属性:使用属性列表来描述类中的属性。属性的初始化检查:在中配置,可以更加严格的检查属性有没有初始化。

2024-03-05 15:33:49 268

原创 TypeScript11:类型兼容性

B -> A,将 B 赋值给 A ,如果能完成赋值,则 B 和 A 类型兼容。目标类型需要某一些特征,赋值的类型只要能满足该特征即可。

2024-03-04 09:47:00 325

原创 TypeScript10:readonly修饰符

只读修饰符:修饰的目标是只读的,不在编译结果中。1.接口或者类型别名中使用readonly 修饰符2.数组中使用 readonly 修饰符

2024-03-04 09:46:41 368

原创 TypeScript09:接口interface

TypeScript的接口:用于约束类、对象、函数的契约(标准)。与类型别名一样,接口不会出现在编译结果中。

2024-03-03 09:30:41 565

原创 TypeScript08:在TS中使用模块化

注意:在导入模块时不要加后缀名。因为后缀名会编译到结果中,编译结果找不到 .ts 文件会报错。结果:没有区别。 结果:导出的声明会变成 exports 的属性,默认的导出会变成 exports 的 default 属性。导入时,会将整个对象拿到取属性值。 "ues strict" 为 js 中的严格模式,由于 ts 已经足够严格,因此可以通过配置 "noImplicitUseStrict": true 移除编译结果中的严格模式 "ues strict

2024-03-01 11:31:18 1101

原创 TypeScript07:枚举enum

扩展类型:类型别名、枚举、接口、类。枚举:通常用于约束某个变量的取值范围。字面量和联合类型配合使用,也可以达到同样的目标。在类型约束位置,会产生重复代码。可以使用类型别名解决该问题;逻辑含义和真实的值产生了混淆,会导致当修改真实值的时候,产生大量的修改;字面量类型,不会进入编译结果。

2024-03-01 08:36:12 554

原创 TypeScript06:函数的相关约束

函数重载:在函数实现之前,对函数调用的多种情况进行声明。可选参数:可以在某些参数名后加上问号,表示该参数可以不用传递。不传递时默认为undefined类型。可选参数必须在参数的末尾位置。

2024-02-29 08:51:40 274

原创 TypeScript05:类型别名type

类型别名 type :对已知的一些类型定义名称。

2024-02-29 08:51:04 161

原创 TypeScript04:其他常用类型

多种类型任选其一,配合类型保护进行判断。当对某个变量进行类型判断之后,在判断的语句块中便可以确定它的确切类型, typeof可以触发基本类型的类型保护。

2024-02-28 16:20:43 329

原创 TypeScript03:基本类型

由于 null 和 undefined 是所有其它类型的子类型,所以需要在 tsconfig.json 文件中配置严格检查,否则容易引发报错。通过添加 "strictNullChecks":true,可以获得更严格的空类型检查, null 和 undifined 只能赋值给自身。

2024-02-28 16:20:17 197

原创 TypeScript02:TS的基本类型约束

TS是一个可选的静态的类型系统,可以用来约束。ts 可以在很多场景中进行类型推导。

2024-02-23 10:52:35 234

原创 TypeScript01:TypeScript的安装和配置

在 node 环境中搭建 TS 开发环境。使用 tsc 命令对 .ts 文件进行编译,输出 .js 文件,这个 .js 文件是我们需要运行的文件。

2024-02-21 11:36:46 384

原创 前端工程化之:webpack4-2(babel预设+babel插件+webpack中运行)

babel有多种预设,最常见的预设是。可以让你使用最新的JS语法,而无需针对每种语法转换设置具体的插件。

2024-02-21 08:56:16 1697

原创 前端工程化之:webpack4-1(babel的安装和使用)

babel一词来自于希伯来语,直译为巴别塔。巴别塔象征的统一的国度、统一的语言而今天的JS世界缺少一座巴别塔,不同版本的浏览器能识别的ES标准并不相同,就导致了开发者面对不同版本的浏览器要使用不同的语言,和古巴比伦一样,前端开发也面临着这样的困境。babel的出现,就是用于解决这样的问题,它是一个编译器,可以把不同标准书写的语言,编译为统一的、能被各种浏览器识别的语言。由于语言的转换工作灵活多样,babel的做法和差不多,它本身仅提供一些分析功能,真正的转换需要依托于插件完成。

2024-02-20 09:12:35 650

原创 前端工程化之:webpack3-8(抽离css文件)

目前, css 代码被 css-loader 转换后,交给的是 style-loader 进行处理。style-loader 使用的方式是用一段 js 代码,将样式加入到 style 元素中。而实际的开发中,我们往往希望依赖的样式最终形成一个 css 文件此时,就需要用到一个库: mini-css-extract-plugin 。该库提供了1个 plugin 和1个 loader 。

2024-02-20 09:12:12 255

原创 前端工程化之:webpack3-7(PostCss)

可以看出,CSS工程化面临着诸多问题,而解决这些问题的方案多种多样。如果把CSS单独拎出来看,光是样式本身,就有很多事情要处理。既然有这么多事情要处理,何不把这些事情集中到一起统一处理呢?PostCss就是基于这样的理念出现的。PostCss类似于一个编译器,可以将样式源码编译成最终的CSS代码。看上去是不是和LESS、SASS一样呢?但PostCss和LESS、SASS。

2024-02-19 08:33:32 1240

原创 前端工程化之:webpack3-6(css预编译器less)

编写css时,受限于css语言本身,常常难以处理一些问题:由于官方迟迟不对css语言本身做出改进,一些第三方机构开始想办法来解决这些问题,其中一种方案,便是。预编译器的原理很简单,即使用一种更加优雅的方式来书写样式代码,通过一个编译器,将其转换为可被浏览器识别的传统css代码。目前,最流行的预编译器有less和sass。

2024-02-19 08:31:40 293

原创 前端工程化之:webpack3-5(css module)

通过命名规范来限制类名太过死板,而 css in js 虽然足够灵活,但是书写不便。css module 开辟一种全新的思路来解决类名冲突的问题。

2024-02-06 10:43:34 1453

原创 前端工程化之:webpack3-4(css in js)

css in js 的核心思想是:用一个 JS 对象来描述样式,而不是 css 样式表。例如下面的对象就是一个用于描述样式的对象:

2024-02-06 10:42:16 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除