- 博客(44)
- 收藏
- 关注
原创 git中如何从某次历史提交节点上创建一个新的分支
git checkout -b 新分支名 提交哈希用找目标提交哈希;用上述命令创建并切换新分支。该操作是安全的,不会修改任何历史提交,也不会影响原分支,适合基于历史版本开发新功能、修复旧版本 BUG 等场景。
2025-12-30 09:57:09
252
原创 Git命令大全:一表掌握所有核心操作
以下是整理的常用 Git 命令大全,按功能分类并以表格形式呈现,涵盖基础操作、分支管理、远程协作、版本回溯、进阶操作等核心场景,方便查阅和使用:
2025-12-30 09:51:27
414
原创 Vue2 与 Vue3 数据双向绑定:区别与原理详解
核心原理差异:Vue2 用(劫持单个属性),Vue3 用Proxy(代理整个对象);关键功能差异:Vue3 原生支持对象新增 / 删除属性、数组所有操作,无需额外 API,Vue2 需依赖Vue.setVue.delete;性能差异:Vue3 初始化性能更优(懒加载),大型场景表现更好,Vue2 初始化递归劫持属性,性能较差;兼容性差异:Vue2 支持 IE10+,Vue3 不支持 IE(Proxy 无兼容方案);v-model差异:组件上的默认绑定属性 / 事件不同,Vue3 支持多。
2025-12-24 10:55:04
530
原创 VUE3中customRef 详解:定义、使用与业务场景
所属范畴customRef是 Vue 3 的内置 API(Vue 2 无此 API,需借助或第三方库实现类似功能),通常在语法中使用,也可在选项式 API 中配合setup()钩子使用。核心作用:突破 Vue 内置ref的默认行为限制,手动控制响应式的两个核心环节:依赖收集:当自定义 ref 被组件模板 / 计算属性使用时,需要手动标记「该位置依赖了这个 ref」;触发更新:当自定义 ref 的值发生变化时,需要手动通知 Vue「依赖该 ref 的位置需要重新渲染」;返回值:调用customRef。
2025-12-24 10:02:15
685
原创 Vue2 中 Vuex 完整使用指南
核心流程:安装 Vuex → 创建仓库(state/mutations/actions/getters)→ 挂载到 Vue 实例 → 组件中访问 / 修改状态;核心原则state存共享状态,mutations同步修改 state,actions处理异步逻辑,getters二次处理状态;辅助函数mapStatemapGettersmapActions简化组件代码,模块化项目需指定模块名;模块化:中大型项目按业务拆分模块,开启,避免命名冲突;持久化:使用解决页面刷新状态丢失问题。
2025-12-24 09:46:42
778
原创 Vue2中优雅集成particles.js粒子效果
上述是常用配置,你可根据需求修改::调整粒子数量;:修改粒子颜色(支持十六进制 /rgb/ 随机色);:修改粒子形状(circle圆形、edge正方形、triangle三角形、star星星等);:鼠标悬浮效果(grab吸附、bubble气泡放大、repulse排斥);更多配置可参考particles.js 官方文档。核心:通过访问 CDN 引入的全局变量;步骤:创建 DOM 容器 →mounted初始化 →销毁;
2025-12-23 14:17:43
550
原创 MIME:互联网数据格式的通用语言
MIME 是Multipurpose Internet Mail Extensions(多用途互联网邮件扩展)的缩写,最初设计目的是解决传统电子邮件仅能传输纯文本(ASCII 字符)的限制,让邮件可以携带图片、音频、视频等二进制附件。随着互联网的发展,MIME 已不再局限于邮件领域,成为HTTP 协议、HTML 等场景中标识「文件 / 数据类型」的核心标准,也被称为「媒体类型(Media Type)」或「内容类型(Content-Type)」。
2025-12-23 11:44:17
835
原创 正确使用Base64图片的秘诀
img>的src可以直接赋值 Base64 编码,但必须带 Data URI 协议前缀data:[媒体类型];base64,裸 Base64 字符串无法被浏览器识别,会导致图片加载失败;适用于小型图片,可减少 HTTP 请求;不适用于大型图片,避免 HTML 体积过大;动态赋值时,只需将裸 Base64 字符串拼接进 Data URI 格式即可。
2025-12-23 11:35:09
287
原创 Git快速创建并推送新分支
数将本地分支设置与远程分支的“上游”,这样以后就可以简单地使用 git push 和 git pul。以上步骤会创建一个新的分支,并将其推送到远程仓库。这样,其他人就可以看到并可以开。这里 new-branch 是你想要创建的新分支名称。是你刚刚创建的本地分支名称。是你远程仓库的名称,始在这个新分支上工作。命令与远程分支交互。
2025-12-19 08:53:33
146
原创 Git分支创建与推送全攻略
bash# 1. 切换到基础分支并拉取最新代码git checkout 基础分支名git pull origin 基础分支名# 2. 创建并切换到新分支git checkout -b 新分支名# 3. 开发并提交(可选)git add .git commit -m "提交说明"# 4. 推送新分支到云端(首次需要-u)git push -u origin 新分支名执行后,云端仓库会新增一个与本地同名的分支,且本地新分支会与云端分支关联。
2025-11-07 16:50:00
155
原创 Vue3实现PDF目录预览功能
在 Vue 项目中实现 “左侧目录 + 右侧 PDF 文档预览” 的功能,可通过 pdf.js结合分栏布局来完成。
2025-11-05 11:00:04
440
原创 TypeScript类型断言
importFormData.files[0].raw as File: 这是从importFormData对象中获取的第一个文件的数据部分。importFormData是一个响应式的对象,用于存储用户上传的文件信息。files属性是一个数组,存放了用户上传的所有文件。files[0]获取数组中的第一个文件对象。as File: 这是TypeScript中的类型断言,告诉编译器raw属性的数据类型为File。这对于确保类型安全和明确代码意图是很有帮助的。
2025-11-03 10:50:24
199
原创 CSS变量兼容神器:CSS-Vars-Ponyfill
CSS-Vars-Ponyfill 可以与 Vue.js 项目集成,点击侧边栏实现动态换肤等功能。
2025-10-31 16:05:26
195
原创 async/await:异步编程的优雅之道
从上面的对比可以看出,使用 async 和 await 的代码更加简洁和易于理解。因此,在这段代码中使用 async 和 await 是为了提高代码的可读性和维护性,同时简化错误处理。使用 async 和 await 关键字可以使得异步代码更加简洁和易于理解。
2025-10-31 15:23:09
341
原创 vue3项目中的一些知识点
本文总结了Vue3+TypeScript开发中的几个关键实践:1. 合理使用defineOptions定义组件选项,包括命名规范和使用场景;2. 通过ref()获取组件实例引用,调用ElementPlus等组件库的内置方法;3. TypeScript中声明响应式变量时,使用泛型和类型断言确保类型安全;4. 推荐使用async/await处理异步操作,相比Promise.then具有更好的可读性和错误处理能力。这些实践有助于提升代码质量、类型安全和开发效率。
2025-10-31 10:15:59
217
原创 掌握JavaScript的reduce函数精髓
reduce的核心是「通过累计器对数组元素进行迭代处理」,它的强大之处在于能将复杂的数组操作(如分组、转换、聚合)简化为一个函数。掌握它可以替代很多循环逻辑,让代码更简洁、更具函数式风格。
2025-10-30 16:30:50
236
原创 前端文件上传终极指南
简单场景(单图 / 小文件,无复杂需求):用「框架 + UI 组件库 + Axios」(如 Vue + Element UI),效率最高。原生项目 / 自定义程度高:用「原生 XHR/Fetch + FormData」,灵活性最强。复杂场景(大文件 / 压缩 / 断点续传):用「第三方库」(spark-md5 分片、compressorjs 压缩),减少重复开发。
2025-10-30 13:23:06
586
原创 el-tree 组件采用ElementUI中的el-tree组件进行二次开发(最新样式)
【代码】el-tree 组件采用ElementUI中的el-tree组件进行二次开发(最新样式)
2025-08-29 11:24:18
129
原创 __wxConfig.envVersion主要有三个属性值:
这三个值分别对应小程序的不同运行环境:正式版(线上发布)、开发版(本地调试)和体验版(测试阶段)。
2025-08-04 14:17:45
282
原创 echarts环状图([Feature] [pie] 新增 padAngle 选项以支持设置饼图扇区间隔。#19076)
【代码】echarts环状图([Feature] [pie] 新增 padAngle 选项以支持设置饼图扇区间隔。#19076)
2025-07-23 10:23:58
174
原创 flex-shrink为0作用
当弹性容器空间不足以容纳所有项目时,默认情况下项目会根据flex-shrink值按比例收缩。 用于阻止弹性项目在容器空间不足时被压缩,保持项目原始尺寸。
2025-07-21 15:00:10
521
原创 websocket实现全局实时提示
3.注册成功后每隔60秒发送心跳包:{"cmd":"ping","sign":"@123456@"} 和服务器保持心跳,服务器返回:{"cmd":"pong"} (备注:超过5分钟未发送心跳,自动下线客户端。2.连接成功后发送:{"cmd":"declare"} 向服务器注册,注册成功服务器返回:{"cmd":"declare","client_id":"xxxxxxx"}==========连接方式====================测试工具==========
2025-06-19 08:53:13
272
原创 vue使用高德地图 -- AMap.Autocomplete is not a constructor报错问题
把 AMap.Autocomplete换成这个AMap.AutoComplete。
2025-06-09 16:27:08
211
原创 window.URL.createObjectURL(type)
例:window.URL.createObjectURL(new Blob([res]))window.uRL.createobjectuRL 是一种创建指向指定文件对象(如 Blob 或 File 对象)的 URL字符串的方法。此方法返回的对象 URL 可用于表示本地资源,例如图像、视频或其他二进制数据。
2025-05-27 15:25:10
350
原创 dom元素对象
元素总占位大小(含边框、滚动条)。:检测内部可用空间(如弹窗居中)。:控制滚动行为,检测内容是否溢出。:可视区域(不含边框、滚动条)。:计算元素在页面中的布局位置。:内容总大小(含隐藏部分)。:滚动位置(可修改)。:管滚动和内容总尺寸。:看边框和可用区域。
2025-05-22 14:36:23
385
原创 HTML DOM 元素对象
返回任何一个元素的高度包括边框(border)和内边距(padding),但不包含外边距(margin):返回元素的宽度,包括边框(border)和内边距(padding),但不包含外边距(margin)(宽度包含内边距(padding),不包含边框(border),外边距(margin)和滚动条)(高度包含内边距(padding),不包含边框(border),外边距(margin)和滚动条):返回元素的整个宽度(包括带滚动条的隐蔽的地方):返回整个元素的高度(包括带滚动条的隐蔽的地方)
2025-05-20 16:56:43
176
原创 后端返回10000数据渲染el-table表格表头,先让表头显示100条数据,当横向滚动条滚动时再逐步添加10条数据
【代码】后端返回10000数据渲染el-table表格表头,先让表头显示100条数据,当横向滚动条滚动时再逐步添加10条数据。
2025-05-20 16:45:03
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅