- 博客(86)
- 资源 (14)
- 收藏
- 关注
原创 nodejs 基础
ECMAScript 2020 出现了一个globalThis全局变量,在nodejs环境会自动切换成global ,浏览器环境自动切换window非常方便。
2024-10-27 21:26:15 799
原创 Prisma ORM 第四章 表之间关系的建立和删除
在 Prisma 中,connect 是一个用于建立关系的选项,主要用于在创建或更新记录时将现有记录关联起来。connect 允许你在不重新创建相关记录的情况下,将它们链接到当前记录。这在处理多对多关系或多对一关系时特别有用。
2024-10-18 18:30:47 974
原创 Prisma ORM 第三章 新增 更新 删除
create:用于创建单个记录。createMany:用于创建多个记录。data:指定要插入的数据,可以包含多个字段。select(可选):指定返回的数据字段。include(可选):指定返回的关联数据。skipDuplicates(可选):在 createMany 中,表示是否跳过重复的记录。返回值:create 方法返回新创建的记录对象,createMany 方法返回一个包含插入记录数量的对象。错误处理:使用 try-catch 块捕获和处理创建过程中可能出现的错误。
2024-10-18 16:43:18 792
原创 Prisma ORM 第一章 安装与使用
在 Prisma 中,where 子句用于指定查询条件,以过滤数据库中的记录。where 子句可以用于多种查询方法,如 findUnique、findFirst、findMany 等。用途:包含关联模型的数据(posts:一对多,多对多时的另外一张表)。用途:从指定的记录开始查询,通常用于分页。用途:跳过指定数量的记录。用途:限制返回的记录数量。用途:选择要返回的字段。用途:指定查询条件。用途:指定排序规则。
2024-10-18 15:47:17 951
原创 Electron 是如何工作的
创建一个菜单文件label:'菜单',submenu:[label:'增加',click(){// 订阅事件发送createMenu在窗口中使用菜单})// 菜单按钮在预加载脚本中监听订阅事件callback()})})页面的script})})
2024-10-02 15:48:29 769
原创 TypeScript 语法基础 第一部分 基础类型
TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,任何的JS代码都可以直接当成JS使用。相较于JS而言,TS拥有了静态类型,更加严格的语法,更强大的功能;TS可以在代码执行前就完成代码的检查,减小了运行时异常的出现的几率;TS代码可以编译为任意版本的JS代码,可有效解决不同JS运行环境的兼容问题;
2024-09-29 19:21:22 1151
原创 TypeScript 语法基础 第二部分 类、接口、泛型
抽象类中可以有自己的属性和方法抽象类不能被实例化抽象类中定义的抽象方法,子类必须实现// abstract:定义抽象类和抽象类中的抽象方法name// 抽象方法:必须定义在抽象类中,并且没有方法体,子类必须实现父类中的抽象方法console.log(this.name+age+'岁了');agesay(){console.log(this.name+'汪汪汪的叫');const dog = new Dog("小黑",3)dog.say()type适合定义复杂类型。
2024-09-29 19:04:59 766
原创 Vue-Route4 ts
next()的作用:next()就是通过的意思,但是通过后会继续走剩下的代码,并且next()在代码中会调用多次,不容易察觉错误。首先这个进度条是假的,并不能真正的表示加载页面的进度。开头的是绝对路径,它是完整路径不受父路径影响,没有。想要记录滚动位置,必须在当前的vue中添加该样式。如果只在父级中加该样式,滚动是可以实现,但是。是相对路径,需要向上找父级路径,直到找到带。小满视频里面是手写的,我看的困,使用现成的。就是给路径起个别的名字,必须是。,如果vue中没有设置滚动条,// 返回当前路由地址。
2024-09-12 09:27:40 803 1
原创 typescript装饰器如何工作的
环境:是一种在不改变原类和使用继承的情况下,动态地扩展对象功能装饰器是一种特殊类型的声明,它能够被附加到类声明,方法, 访问符,属性或参数上
2024-09-06 18:30:09 368
原创 webpack4手动搭建Vue项目
学习总结1. 多看看webpack官网2. webpack的作用:配置一堆东西,达到运行程序的目的3. 无论什么东西都转成js,然后插入到一个空空的html文件中运行4. webpack就是个管理者,管理着一堆loader,一堆loader的作用就是把自己负责的东西弄成js。
2024-08-29 16:21:36 1273
原创 JS执行机制和nextTick
setTimeOut:设置的时间意思是在多久后将此宏任务放到队列中,而不是在队列中等待时间到了才执行await:微任务,在await之后执行的代码,必须等到await执行完毕后才可以执行,
2024-08-25 20:19:01 787
原创 Vue3 自定义指令
自定义指令必须以v开头的驼峰式命名的变量在模板中使用时需要用分割自定义指令-- v-has-show分割后的指令 --> < button v-has-show > 创建 </ button > </ div > </ template > < script setup lang = " ts " > import {// 自定义指令vHasShow,在模板中使用-分割为:v-has-show const vHasShow : Directive =(el , binding) => {
2024-08-25 10:58:26 880
原创 defineProps、defineEmits、 defineExpose的TS写法
子组件-- 2. 定义一个点击事件 -->第一种发送方式-- 或者第2步和第3步写在一起. 直接在@click事件中使用emit触发事件clickSend,并传递参数 -->第二种发送方式
2024-08-25 10:57:51 1231
原创 Vue自定义指令+IntersectionObserver实现图片懒加载
Vue自定义指令+IntersectionObserver实现图片懒加载
2024-08-24 00:01:57 979
原创 Vue3+Vite 解决“找不到模块“@/components/xxx.vue”或其相应的类型声明 ts(2307)”
【代码】Vue3+Vite 解决“找不到模块“@/components/xxx.vue”或其相应的类型声明 ts(2307)”
2024-08-22 12:09:19 807
原创 shallowRef、markRaw的部分作用
通义灵码翻译结果:这个问题出现在 Vue 中当你不小心将一个组件实例通过 ref 变成了响应式对象时。这会导致不必要的性能开销,因为 Vue 会尝试追踪这个组件内部的变化来决定是否需要重新渲染,而这对于组件来说通常是不必要的。直接通过ref或者reactive声明一个组件时,会报以上错误,使用shallowRef声明。
2024-08-21 16:27:28 403
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人