- 博客(35)
- 问答 (2)
- 收藏
- 关注
原创 Sass相关
这是一个 PostCSS 插件,用于将现代 CSS 特性转换为兼容旧浏览器的代码。它会根据目标浏览器的需求自动添加浏览器前缀。那么,如何将该文件中定义的公共样式引入到全局,让全局各个文件都能使用呢?是一个工具,可以使用插件来转换 CSS,例如自动添加浏览器前缀、转换单位等。文件中的变量可以在项目中的任何 SCSS 文件中直接使用,而无需手动导入。这是一个 PostCSS 插件,用于将 CSS 中的。会被自动插入到每个 SCSS 文件的开头。中的内容自动插入到每个 SCSS 文件的开头。伪类或其他现代特性,
2025-06-16 10:19:24
121
原创 try...catch...捕捉错误
可以捕获await调用中的错误。但是如果在await调用的异步操作中使用了Promise链(例如.then()或.catch()),该错误可能只会被Promise链捕获,而不是直接抛出到块中。不会被最外层的捕获,而是会传递到Promise的catch方法中。如果在该请求中未写处catch方法,那这个错误就不会被捕获到。为避免这种情况,建议统一使用,避免混合使用Promise链,并用 try...catch...来捕获错误。
2025-06-16 10:00:39
113
原创 【Pinia】Pinia和Vuex对比
Pinia 是 Vue 官方团队成员专门开发的一个全新状态管理库,并且 Vue 的官方状态管理库已经更改为了 Pinia。在 Vuex 官方仓库中也介绍说可以把 Pinia 当成是不同名称的 Vuex 5,这也意味不会再出 5 版本了。
2025-06-05 14:31:36
361
原创 【定时器】定时器存在的内存泄露问题
如果回调函数中使用了闭包,可能会导致定时器一直占据着某个引用的外部变量,这个变量可能是一个大体积量的数据,或是一个大型 DOM 元素,这回阻止这些数据被垃圾回收。比如当页面被销毁或组件被卸载时,若没有做清理定时器的操作,那定时器会仍然在运行,它会持有对回调函数的引用,阻止回调函数及其依赖的变量被垃圾回收。,这样频繁的执行闭包函数,那么这个外部变量相当于一直被引用,若它是个大体积量数据,则会一直占据内存,导致内存泄漏。如果定时器的回调函数引用某个 DOM 元素变量,且这个 DOM 元素变量是在外部定义的。
2025-06-04 19:06:10
409
原创 【HTML】querySelector与getElementBy系列的区别
在使用的时候getElement这种方法性能比较好,query选择符则比较方便.得到的元素不是需要很麻烦的多次getElementBy..的话,尽量使用getElementBy..,因为他快些。得到的元素需要很麻烦的多次getElementBy..组合才能得到的话使用querySelector,方便。看实际情况,你决定方便优先还是性能优先,
2025-06-03 17:44:16
776
原创 【Node】对老项目进行node升级兼容
我的项目是vue2+node14搭建的,现根据公司要求需要升级node至20以上。实际上,只要本地node切换到20版本,并且能正常运行起来就没什么问题。我使用了最简单粗暴的方法,直接切换到20版本,然后npm run dev,看有什么报错,可能会出现依赖包版本过低,或者依赖包不兼容node的问题。这样的话有什么问题就修复什么问题。
2025-06-03 17:01:52
538
原创 【基础】offsetHeight、clientHeight和scrollHeight的区别
offsetHeight = 内容高度 + padding + borderclientheight = 内容高度 + paddingscrollHeight = 内容实际尺寸 + padding。
2025-05-29 15:40:25
366
原创 【样式】关闭浏览器的拼写检查
当写入错误或者不合理的单词时,el-input会有红色波浪线提示,经测试发现edge不会提示,chrome会发生这种情况。
2025-04-27 19:23:27
156
1
原创 【定时器】setInterval可能的坑
会无视代码的错误。就算遇到了错误,它还是会一直循环下去,不会停止。这就导致了可能你代码里存在着一些问题(比如你的代码可能有个一定概率下会发生的错误,而你使用setinterval来循环调用它,由于不会因为报错停止,所以这个问题可能被隐藏),可是却很难发现。
2025-04-23 18:33:32
689
原创 【样式】常用样式修改-收集
若需要局部改变滚动条样式,比如改变.container这个盒子下的滚动条样式。::-webkit-scrollbar : 定义了滚动条整体的样式。::-webkit-scrollbar-track : 轨道部分。::-webkit-scrollbar-thumb : 滑块部分。
2025-03-20 10:24:40
223
原创 sonar-scanner扫描代码时间过长
代码越来越多,sonar扫描时间也越来越久,看了下sonar-scanner扫代码一次16分钟左右了。看了下扫描日志,发现扫了一些项目中留存但是没有使用的代码,所以需要让sonar忽略对这些代码的扫描。扫描时长缩短了一分半!杯水车薪,继续探索其他方法...1. 工程根目录下新建。
2025-03-12 17:45:09
267
原创 利用v-focus-next指令实现Form表单回车后聚焦下一个元素
v-focus-next是一个Vue指令,使用该指令后,在表单的某个元素中输入回车符,可以自动聚焦到下一个表单元素,避免了用户通过鼠标来回选中表单元素,大大提升了表单填写的效率和用户体验。v-focus-next的使用非常简单,只需要为某个Dom或Vue组件(如div、form、ElForm等)绑定v-focus-next指令,则该Dom下的所有input/textarea自动支持回车聚焦功能,无需任何其他配置。
2024-11-18 09:26:42
574
原创 session和local存储数据时使用JSON.parse和JSON.stringify转义的必要性
我们存入a的值是Number类型的1,获取a值后却不等于1。
2024-09-29 10:04:02
208
原创 为什么router.currentRoute.value.query解构出的参数类型推断为string|string[]
当url上有多个同名query,router.currentRoute.value.query会返回一个数组,也就是为什么TS会有。对于以上这行代码,TS会将每个参数的类型为。, 所以在对这些参数赋值时,TS一直提醒。在项目应用中,我的参数类型都是。
2024-09-12 16:12:12
334
原创 nextTick的使用
也就是说,在视图上做了某些操作,该操作触发数据A的更新,此时,如果要获取A或者用A赋值给其他变量B,有可能是获取到的还是未更新的A,即便你在页面上已经做了修改A的操作。如果想要在修改数据后,得到更新后的A数据,或者用更新后的A数据进行赋值操作,思路就是把这些操作放在数据变化完成,视图更新过后。当数据发生变化时,Vue将开启一个异步更新队列,页面视图需要等队列中所有数据变化完成之后,再统一进行更新视图。Vue 在更新 DOM 时是异步执行的。延迟执行某个操作,把该操作的执行延迟到下次DOM更新之后。
2024-08-20 16:14:22
332
1
原创 npm install安装报错gyp ERR
如果以上设置完,npm install安装依旧报错gyp err,可能需要手动设置。安装最新版本的 Visual Studio,安装包可以去官网下载,下载速度比较慢。安装特定版本的 Visual Studio后,可以通过以下命令设置 npm 配置路径。由于之前尝试过安装但失败了,所以需要删除项目中的。这个命令很重要,用来安装一些构建工具(环境变量,指向 Visual Studio 的安装路径。配置项不被识别,可以尝试直接编辑 npm 的配置文件。资源管理器地址栏输入。一步一步来,总会解决的!
2024-08-20 11:16:59
2098
1
原创 webpack 的externals配置
webpack 中的 externals 配置提供了的方式。如果需要引用一个库或文件,但是又不让它被webpack打包(减少打包的时间+减少打包后的bundle文件体积),且不影响在程序中以CMD、AMD或者window/global全局等方式进行使用(一般都以import方式引用使用),那就可以通过配置externals来实现。
2024-07-05 17:12:56
1415
原创 el-input-number无法过滤e、+、-、.等特殊字符
el-input-number是一种特殊的输入框,用来输入数字。除了可以直接键盘输入数字外,还支持通过上↑、下↓按钮对数字进行调整。然而,el-input-number对于输入字段的处理并不严格限制只能输入数字,而是允许用户输入一些额外的字符,比如+、-、.、e、E,这个问题在原生input事件中也会出现,原因见下文。
2024-06-26 15:56:22
2129
原创 el-input的输入内容校验及限制字符输入
记录下最近做的两种校验1. Form 表单的rules校验2. input输入框的@input校验。
2024-06-19 11:48:18
3539
原创 导出功能如何从响应头里面获取fileName文件名
一般是从响应头的字段获取对应的fileName。要成功拿到res.headers['content-disposition'],需要注意以下几点,都是踩过的坑。
2024-06-18 15:33:18
1097
原创 scss使用样式穿透动态控制el-dialog的样式
上午在做一个弹窗el-dialog,需要展示导入的失败信息。需求如下:(1)导入限制只能导入模板格式的Excel表,不能导入其他格式文件,否则弹框报错提示:导入失败,请下载模板填写后导入。(2)导入行数限制500行,若超过则无法导入,弹框报错提示:单次导入不能超过500行,请修改行数。(3)导入时,若某行用户账号已存在于政企版用户列表,则该行不导入,其余行导入,弹框提示:总共X行,其中Y行导入失败,其余X-Y行导入成功。失败详情:第1行导入失败,用户账号18800001111已存在;
2024-06-07 15:12:18
1667
原创 Unexpected mutation of “xxxx“ prop问题
在接手别人的代码时,发现代码其中一个组件报错:Unexpected mutation of "xxxx" prop。
2024-05-31 15:59:41
1373
1
原创 new Date()的setMonth方法关于月底的坑
早上一来被测试提了个bug,时间选择器本来默认都是显示上个月时间的,今天变成了显示本月的时间。原来对于setMonth这个方法,在使用的时候是可能会出现问题的。
2024-05-31 14:27:02
641
原创 各类包和组件相关问题
element-plus的中文包路径/node_modules/element-plus/dist/locale/zh-cn。
2024-05-14 11:26:24
311
1
原创 Element-plus中el-date-picker相关问题
以前都用最近在做一个Vue3新项目,也要实现类似功能,但突然发现pickerOptions不好用了,控制台也没有报错,郁闷坏了。由于之前是在Vue2中使用的pickerOptions属性,于是猜测Vue3是不是又把属性改名换姓了,查了一下果然啊。
2024-05-09 18:59:55
4061
1
原创 async和await的使用
async会将后面跟着的函数返回值封装成一个Promise对象.(1)async关键字后跟着的函数,该函数本身返回一个Promise对象。(2)async关键字后跟着的函数,该函数本身返回一个直接量,但async会把这个直接量通过Promise.resolve()封装成Promise对象。(3)async关键字后跟着的函数,该函数若没有返回值,则async会封装返回值。
2024-02-28 11:48:42
1095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人