自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对于不文明的人,我们就该这样做的!

搞不清楚, 咱也不知道啊,哈哈哈哈哈哈哈哈哈。

2024-07-22 14:02:53 29

原创 mac键盘上面的“中/英“这个按键的名字叫什么?

叫 Caps Lock, 大小写锁定按键。

2024-07-22 10:52:02 117

原创 typescript: key: keyof typeof语法

元素隐式具有 "any" 类型,因为类型为 "string" 的表达式不能用于索引类型 "{ name: string;在类型 "{ name: string;}" 上找不到具有类型为 "string" 的参数的索引签名。function method(key: keyof typeof obj) {这句代码什么意思?keyiof typeof做了什么?

2024-07-22 10:22:43 45

原创 typescript: 实现optional方法

【代码】typescript: 实现optional方法。

2024-07-20 16:45:21 50

原创 ts知识点: 使用extends后, 继承者和被继承着的共有的字段, 继承者会将

所以,当 `Article` 接口继承 `ArticleBase` 接口时,它会将 `ArticleBase` 接口中的字段 `title`, `content`, `author`, `date`, 和 `readCount` 都包含进来。而对于 `author`, `date`, 和 `readCount` 这三个字段,因为在 `Article` 接口中重新定义了,所以它们的定义会覆盖掉 `ArticleBase` 中可能存在的可选字段声明。date: Date;date: Date;

2024-07-20 16:10:56 576

原创 css样式

2024-07-20 15:06:26 51

原创 if (this.channelId === ‘378‘ || this.channelId === ‘217‘ || this.channelId === ‘426‘){修改

【代码】if (this.channelId === ‘378‘ || this.channelId === ‘217‘ || this.channelId === ‘426‘){修改。

2024-07-18 16:52:46 347

原创 使用qrcode和canvas实现一个输入网址, 显示对应的二维码的功能, 手机扫描二维码可以打开对应网址

【代码】使用qrcode和canvas实现一个输入网址, 显示对应的二维码的功能, 手机扫描二维码可以打开对应网址。

2024-07-18 16:40:49 196

原创 this.addDataForm.locationName == ‘settingsLeftBtn‘,this.addDataForm.locationName == ‘settingsRightBt

上述代码在新增的情况下是没有问题的, 但是编辑的情况下, 我们需要新增判断: 当status不变或者status从有效:1 改为-> 无效2的时候, 直接请求接口不需要走: if (this.saveData < maxAllowed) {这里的逻辑, 直接请求接口就可以,但是当 编辑dialog中后端传回的这一行数据status的状态是无效:2, 且需要改为 有效:1 然后保存提交的时候, 才需要进行if (this.saveData < maxAllowed) {的判断,

2024-07-18 10:28:13 258

原创 在当前分支修改文件后执行git pull然后出现了提示:Auto-merging /edit.html,CONFLICT (content): Merge conflict in edit.html.

4. **移除冲突标记**: 冲突解决后,从文件中删除所有冲突标记(`<<<<<<<`、`=======`、`>>>>>>>`)。- 打开 `push.html` 文件,在其中解决冲突,删除冲突标记 `<<<<<<<`、`=======` 和 `>>>>>>>`,确保文件中保留了你想要的修改。- 删除一个集合的修改(要么从 `<<<<<<<` 到 `=======`,要么从 `=======` 到 `>>>>>>>`),保留你需要的修改。- 使用 `git commit` 提交已解决冲突的文件。

2024-07-18 10:03:21 514

原创 对于远程仓库, 只给出了下载安装包的选项没有给出克隆虚的相关代码怎么办?

如果你遇到了Git克隆时的重定向问题,这可能是因为你提供的URL不是直接指向Git仓库本身。确保你使用的URL是正确的,应该以`.git`结尾,并且能够直接访问到仓库的根目录。如果需要登录才能访问仓库,你可能需要提供相应的认证信息,如用户名/密码或SSH密钥。3. **重定向处理**:如果你被重定向到登录页面,可能表示需要进行身份验证。4. **仓库位置确认**:如果有疑问,可以查看仓库的文档或联系仓库的所有者/管理员确认正确的URL。2. **访问权限**:确保你有权限访问该仓库。

2024-07-11 14:27:34 275

原创 将if...else包括的ajax请求进行简化

将重复部分提取出来, 缩减代码。

2024-07-11 14:20:20 75

原创 在表格中选中el-radio后, 怎么获取选中的这一行的所有数据?

通过这个字段获取和存储当前item中的channelName字段,然后在getDateFn方法中,我们使用$event.target.getAttribute('data-channelName');将上面:data-channeName存储的数据赋值给 this.channelName.下面的radio中, 我们使用:data-channelName='item.channelName', 自己定义了一个data-channelName字段,图中, 选中这行数据后, 怎么获取到当前的数据?

2024-07-09 16:44:35 324

原创 对于chrome浏览器英文浏览问题

这个插件有中文官网,可以搜索直接下载。可以使用chrome的翻译插件。

2024-07-02 20:57:07 88

原创 完成一个逻辑,点击一个按钮让按钮旁边的input输入框中写入‘你好‘

点击我按钮点击输入文字

2024-07-02 16:08:53 442

原创 当+=的时候,为什么会出现NaN?

因为当你定义oneMoreNumber的时候没有给赋值,所以自动判定为undefined,当使用+=的时候,所以结果为NaN而不是你认为的testing1.这里的结果是NaN?

2024-07-02 14:58:56 245

原创 使用vite官网和vue3官网分别都可以创建vue3项目

**Vue CLI(npm create vue@latest):** Vue CLI 是一个完整的前端开发工具,它支持创建单页应用、多页应用、库等不同类型的项目,并且集成了大量的插件和功能,如内置的 webpack 集成、项目脚手架、插件体系等。- **Vue CLI:** 更适合于需要定制化和扩展功能的项目,特别是对于大型单页应用或者需要复杂构建配置的项目,Vue CLI 提供了更多的选择和配置空间。- **Vite:** 更适合于需要快速原型开发或者对开发体验有较高要求的项目。

2024-06-30 17:17:55 913

原创 使用vite官网命令创建项目,出现提示:Target directory “vite-project“ is not empty. Please choose how to proceed: › -

问:创建vite项目的时候出现提示:Target directory "vite-project" is not empty. Please choose how to proceed: › - Use arrow-keys. Return to submit. ❯ Remove existing files and continue Cancel operation Ignore files and continue 这是什么提示?

2024-06-30 15:36:32 151

原创 css的resize的属性

在 CSS 中,`resize` 属性用于指定元素是否可以被用户调整大小(即改变它的宽度或高度)。这个属性通常用于 `<textarea>` 和 `<iframe>` 元素,但也可以应用于其他元素。这些属性值可以通过 CSS 样式表直接应用于相应的元素,以控制用户在浏览器中是否可以通过拖动边界来改变元素的大小。- 表示元素可以在水平和垂直方向上自由调整大小。- 表示元素不能被用户调整大小。- 表示元素只能在水平方向上调整大小。- 表示元素只能在垂直方向上调整大小。CSS 属性的主要内容和一些注意事项。

2024-06-30 15:16:41 464

原创 对原生input和textarea进行修改,加上: 当前输入字数/最大输入字数,同时针对英文为一个字符,一个汉字为两个字符的逻辑

【代码】对原生input加上:当前输入字数/最大输入字数。

2024-06-30 15:13:35 219

原创 typescript: interface中的索引签名是什么,怎么使用呢

问:什么是interface中的索引签名?回答:索引签名(Index Signatures)是 TypeScript 中一种特殊的对象类型定义,允许你定义一个对象可以包含任意属性的模式。它们允许你在编译时动态确定对象的属性名称和类型。在 TypeScript 中,通常情况下我们知道对象的属性名称和类型。例如,如果定义一个用户对象,我们可能有id是number类型,username是string类型等。但是有时候,我们希望对象能够拥有额外的动态属性,这时候索引签名就派上用场了。

2024-06-25 14:23:32 252

原创 typescript: 函数重载

在 TypeScript 中,函数重载是一个常见的设计模式,尤其是在处理类型复杂度较高的情况时。:通过函数重载,可以定义多个不同的签名,使得同一个函数名可以处理不同类型的参数。综合起来这种设计方式既提高了代码类型的灵活性和安全性,又通过单一的实现提供了实际功能。,这允许 TypeScript 能够在后续的代码中更好地进行类型检查。这种设计最大化了类型安全性,同时保持了代码的简洁和易读性。:第二个定义是实际的函数实现。类型,而第二个实现签名则使用了更宽泛的。,并返回一个布尔值,指示参数是否为。

2024-06-22 17:35:02 387

原创 interface Ref<T = any> 这是什么写法?为什么写接口还需要加上<T = any>

表示这是一个泛型参数,它可以在接口中作为类型的占位符,在实际使用时被具体的类型替代。这里既然是interface接口,为什么还有这是什么意思?接口时传入特定的类型,同时也提供了默认的备选方案.因此,这个泛型参数允许在使用。,意味着如果没有明确指定类型,就会使用。案例: 源码中的案例。

2024-06-22 17:01:48 405

原创 Typescript: declear

使用:更明确地表明这个变量在运行时不会被重新赋值。使用:同样有效,简洁地声明了一个全局变量的类型信息。两者都会告诉 TypeScript 编译器book已经存在,并且它是字符串类型。因此,如果你希望代码更简洁,可以直接使用。

2024-06-22 16:53:00 334

原创 typescript命名空间的使用

id: number;let obj: MyNamespace.MyInterface = {name:'你好', age: 8}报错信息:命名空间“MyNamespace”没有已导出的成员“MyInterface”。ts(2694)问题出现的原因是 TypeScript 编译器没有找到在命名空间中导出名为的接口定义。在 TypeScript 中,如果要在命名空间外部使用命名空间内部的接口或其他成员,必须显式地将它们导出。

2024-06-22 13:52:21 440

原创 javascript的toFixed()以及使用

toFixed()是 JavaScript 中数字类型(Number)的一个方法,用来将数字转换为指定小数位数的字符串表示形式。

2024-06-22 13:47:05 420 1

原创 typescript中declear是干什么的?

TypeScript 本身对于全局变量的类型推断有一定的能力,但是在某些情况下,特别是在引入外部库或跨文件使用全局变量时,使用 declare 可以明确告诉 TypeScript 这些变量的类型信息,避免类型错误。// TypeScript 知道 MY_GLOBAL 是一个 number 类型,可以使用 number 的方法。

2024-06-22 13:44:37 398

原创 Typescript: namespace(命名空间) + interface(接口)

当时在询问chatGPT关于declear的作用,

2024-06-22 13:31:26 410

原创 看到vue3源码中的__tests__文件中有很多xxx.spec.ts文件,这些文件是干什么的

在软件开发中,特别是在使用类似于 Vue.js、Angular 或 React 这样的前端框架时,"computed" 模块通常用于计算属性或者派生状态。扩展名表明这是一个 TypeScript 文件,通常用于编写 Angular 或者基于 Node.js 的 JavaScript 应用程序。后缀通常表示这是一个测试文件,使用类似于 Jasmine、Mocha 或 Jest 这样的测试框架来测试代码的行为和功能。是一个文件命名的示例,通常用于编写和运行针对计算机软件中"computed"模块的测试。

2024-06-22 10:33:25 149

原创 arr.push返回的是push后的新数组还是新数组length呢

2024-06-20 12:40:22 78

原创 chrome的插件怎么获取到安装包

在chrome浏览器输入: chrome://version/在文件中打开Extensions这个文件夹,这个文件夹就是存放插件安装包的文件夹.chrome的插件怎么获取到安装包。复制: 个人资料路径,

2024-06-18 17:30:29 291

原创 TS:元组

元组(Tuple)是一种数据结构,类似于数组,但与数组不同的是,元组中的元素类型可以各不相同,且元组的长度是固定的。- **固定类型**:元组中每个位置的元素类型在定义时确定,之后不能改变。3. **多维坐标**:例如表示三维空间的坐标 `[x, y, z]`。3. **顺序相关**:元组中的元素是有序的,可以通过索引访问。1. **类型安全**:元素类型固定,能提供更好的类型检查。- **固定长度**:元组的长度在定义时确定,之后不能改变。2. **多种类型**:元组中的每个元素可以是不同的类型。

2024-06-15 14:14:14 509

原创 TS: 类型断言 和 联合类型解释

在这个例子中,`as const` 确保 `useFetch` 返回的数组被视为一个具体的字面量类型 `[string, number]` 的元组,而不是一个任意的 `(string | number)[]` 数组。在这个例子中,`useFetch` 返回的是一个 `[string, number]` 类型的元组,并且每个元素都是只读的。是的,当你在 `useFetch` 函数中使用 `as const` 时,返回的元组中的元素(即 `name` 和 `age`)会被视为字面量类型,并且是只读的。

2024-06-15 14:12:52 731

原创 项目中实际使用js锚点案例

【代码】项目中实际使用js锚点案例。

2024-06-14 14:48:40 76

原创 swiper实例代码的解释

所以,这段代码的作用是初始化一个具有指定配置的 Swiper 轮播器实例,并将其应用到具有类名 "mySwiper" 的 HTML 元素上,使其以设定的方式进行轮播、显示和交互。: 这行代码创建了一个新的 Swiper 实例,并将其绑定到具有类名 "mySwiper" 的元素上。: 这个选项指定了在轮播器中同时显示的幻灯片(slide)的数量。指定了分页器的容器元素,即具有类名 "swiper-pagination" 的元素。: 这个选项配置了轮播器的分页器(pagination)。

2024-06-14 14:13:44 443

原创 点击原生button,a标签,会出现鼠标按下去有蓝色

适用场景:button 和 a标签。

2024-06-11 16:06:06 648

原创 网页宽度现在右侧有一个竖条空白,怎么啦车网站都没办法完全铺满宽度,怎么回事怎么解决

是这个网站的最外层html标签设置了宽度,所以导致,当我们删除html的宽度后就解决了这个问题.网页宽度怎么设置全覆盖。

2024-06-11 16:02:51 224

原创 分享: 动图网站

这个网站有一些外国的制作的动图。

2024-06-10 21:13:59 377

原创 当没有VPN的时候,无法使用谷歌翻译,这时候有什么插件

这时候我们可以使用谷歌的插件的商店: 沉浸式翻译插件.我们可以在百度中直接搜索: 沉浸式翻译, 打开官网。

2024-06-10 14:10:18 184

原创 profile-3d-contrib,github三维立体图的使用

灵感来源是simon he的柱状立体图,我想在自己的github上也弄一个,开始只是将svg拷贝到了自己的github主页的readme文件中,

2024-06-09 13:06:12 930 1

setup asdfasfd

setup asdfasfd

2024-06-18

js扭蛋机基础代码有图片和代码

实现了点击的动画,如果后续有自己的想法可以更加完善,或根据项目需求进行变更,目前代码实现了基本的扭蛋机功能,可以直接放在项目中使用

2023-04-11

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

TA关注的人

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