自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 创建react18版本脚手架报错

由于react19版本已发布,创建react18版本会出现报错,本文解决了报错问题~

2025-01-17 08:36:03 536

原创 React的渲染流程

将代码进行转化,每遇到一个标签将元素转化成 React.createElement("div",{class,id},[]) ,子元素通过嵌套关系形成一个树结构,这个树结构就是指虚拟。仅仅只是 React.createElement(component,props,..children) 函数的语法糖。这个函数通常用于优化性能,因为它减少了在每次渲染时重新创建元素的需要‌。这个函数同样是为了优化性能,减少不必要的元素创建‌。时生成的一个函数,用于将。工具将代码转化为原生。

2025-01-17 08:34:48 1199

原创 React组件化开发

元素或一个组件,所以可以将业务逻辑封装到一个组件中,然后传入到。函数中的第一个参数。

2024-12-30 14:31:59 516

原创 React的开发依赖

本文介绍了React安装依赖并使用jsx语法编写一个Hello World!

2024-12-30 14:30:28 534

原创 超好用的VsCode插件

超好用的VsCode插件!

2024-08-14 09:45:58 1497

原创 安装nvm(详细教程),配置全局node环境并安装vue/cli

nvm 安装包链接: https://pan.baidu.com/s/1EKOnPYRq6_QjzdFVcpH0Fw?pwd=2ujg选好安装路径后直接安装即可:安装完成后,在 nvm 安装的目录下找到 setting.txt 文件,将以下代码复制到里面,完成 nvm 源修改。查看环境系统变量: nvm 命令: 使用 nvm 安装 14.20.1 版本的 nodejs :安装并使用完成后依次输入以下命令查看版本号: nvm 安装目录结构如下图:配置 node_global 全局路

2024-07-19 10:42:19 3272

原创 使用Nexus搭建的npm私服下载时报错Unable to authenticte,need:BASIC realm=“Sonatype Nexus Repository Manger”

检查Nexus是否登录,以及登陆人是否有对应权限。如没有,找管理员加权限。

2024-07-04 08:31:25 351

原创 使用nvm安装node包后,安装vue提示“vue不是内部或外部命令,也不是可运行的程序或批处理命令”

使用npm安装了vue-cli后,输入"vue -V"命令提示:“vue不是内部或外部命令,也不是可运行的程序或批处理命令”。

2024-07-04 08:29:39 849

原创 掘金头像转圈实现

实现鼠标左键点击头像转圈,右键暂停。

2024-07-01 15:43:47 166

原创 使用canvas绘制一个会唱、跳、rap...

【代码】使用canvas绘制一个会唱、跳、rap...

2024-07-01 08:44:04 263 3

原创 css实现优惠券样式

css实现优惠券样式。

2024-06-12 14:22:32 834 2

原创 vue3中使用defineProps、defineEmits和defineExpose

父组件通过v-bind绑定一个数据,然后子组件通过接受传过来的值。ts这两种方法接收的值可以在模板中使用,但是不能用js调用,会报错。js结合ts。

2024-06-12 13:43:38 903

原创 vue3中的watchEffect高级侦听器

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

2024-05-14 13:22:17 399

原创 vue3中的watch侦听器

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

2024-05-14 13:22:01 976

原创 vue3中的computed

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

2024-05-13 09:00:52 18231

原创 vue3中的toRef、toRefs和toRaw

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

2024-05-13 09:00:03 330

原创 vue3中的reactive、readonly和shallowReactive

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

2024-04-28 10:48:13 812

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

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

2024-04-24 14:28:30 1228

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

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

2024-04-24 14:28:02 568

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

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

2024-04-22 08:44:04 1209

原创 TypeScript25:发布(降噪)

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

2024-04-22 08:39:37 256

原创 TypeScript24:TS中的声明文件

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

2024-04-19 08:36:30 1753

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

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

2024-04-19 08:36:16 651

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

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

2024-04-18 09:30:53 694

原创 TypeScript21:装饰器

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

2024-04-18 09:30:41 669

原创 TypeScript20:this指向约束

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

2024-04-16 08:39:27 645

原创 TypeScript19:索引器

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

2024-04-16 08:39:13 418

原创 TypeScript18:interface接口进阶

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

2024-04-15 08:46:59 436

原创 TypeScript17:静态成员

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

2024-04-15 08:46:39 248

原创 TypeScript16:抽象类

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

2024-03-12 10:24:18 422

原创 TypeScript15:类的继承

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

2024-03-07 08:50:49 1118

原创 TypeScript14:面向对象概述

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

2024-03-07 08:50:31 287

原创 TypeScript13:泛型

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

2024-03-05 15:34:06 643

原创 TypeScript12:类

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

2024-03-05 15:33:49 304

原创 TypeScript11:类型兼容性

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

2024-03-04 09:47:00 383

原创 TypeScript10:readonly修饰符

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

2024-03-04 09:46:41 547

原创 TypeScript09:接口interface

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

2024-03-03 09:30:41 609

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

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

2024-03-01 11:31:18 1351

原创 TypeScript07:枚举enum

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

2024-03-01 08:36:12 618

原创 TypeScript06:函数的相关约束

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

2024-02-29 08:51:40 324

空空如也

空空如也

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

TA关注的人

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