- 博客(487)
- 收藏
- 关注
原创 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
原创 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
原创 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
原创 在表格中选中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
原创 当+=的时候,为什么会出现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
原创 看到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
原创 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
原创 swiper实例代码的解释
所以,这段代码的作用是初始化一个具有指定配置的 Swiper 轮播器实例,并将其应用到具有类名 "mySwiper" 的 HTML 元素上,使其以设定的方式进行轮播、显示和交互。: 这行代码创建了一个新的 Swiper 实例,并将其绑定到具有类名 "mySwiper" 的元素上。: 这个选项指定了在轮播器中同时显示的幻灯片(slide)的数量。指定了分页器的容器元素,即具有类名 "swiper-pagination" 的元素。: 这个选项配置了轮播器的分页器(pagination)。
2024-06-14 14:13:44
443
原创 网页宽度现在右侧有一个竖条空白,怎么啦车网站都没办法完全铺满宽度,怎么回事怎么解决
是这个网站的最外层html标签设置了宽度,所以导致,当我们删除html的宽度后就解决了这个问题.网页宽度怎么设置全覆盖。
2024-06-11 16:02:51
224
原创 当没有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
大家对于网络喷子的处理方法
2024-07-22
大家觉得黄金的价格触底了吗,后续会上升还是下降呢
2024-05-09
后续黄金是上涨还是下跌
2024-03-25
大家怎么看待现在的黄金价格啊?还会不会上涨呢
2024-03-23
大家怎么看待未来黄金价格走向
2024-02-28
上金所的黄金怎么买呢?
2024-01-23
大家是怎么投资的,是存在银行?是购买股票?还是?
2024-01-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人