自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 【安全】前端如何安全存储密钥,防止信息泄露

把公钥写在前端代码文件里被公司检测到了要整改,整理几种常见的前端密钥存储方案。

2024-10-30 20:19:12 5183

原创 【ElementPlus】el-table相关的功能实现

场景:当table表格设置复选(多选)功能时,如何隐藏表头的复选框,不让用户一键多选。

2024-10-23 11:04:38 718

原创 请求的crossDomain和withCredentials字段

axios请求头种不携带withCredentials字段会出现跨域错误。

2024-10-22 18:32:01 613

原创 模板字符串中如何换行展示

【代码】模板字符串中的换行展示。

2024-10-22 18:21:29 942

原创 为何console.log打印的数组,展开前有数据,展开后数组为空

代码如下,可以看到展开前数组明明是有值的,展开后数组为空了。

2024-09-29 15:54:27 381

原创 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

原创 el-tabs的CSS样式修改

两层tab:即政企版/公众版为第一层tab,日活跃用户统计/月活跃用户统计为第二层tab。

2024-05-27 14:49:38 1026 2

原创 我和消失的change-id之间的恩怨情仇

git push时报错,显示没有change-id。

2024-05-17 14:54:16 705

原创 各类包和组件相关问题

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

原创 从项目中看部分元素v-show=“false”不生效的问题

通过点击“收起”/"展开"按钮,显示部分/全量的搜索框。

2024-05-07 16:49:52 954 1

原创 Vue3之ref和reactive的使用与区别

ref()和reactive()都是响应式api,用来跟踪其参数的更改,让组件具有响应性。

2024-03-22 11:29:21 1028 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关注的人

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