自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【文科生带你读JavaScript数据结构与算法】2. 双向链表与LRU缓存算法原理与实现(下)

上篇聊了聊双向链表(doubly linked list)这个数据结构,今天就来点更实际的,也可以用双链表来实现的一种生活工作中不可或缺的优化算法——LRU缓存算法。

2023-05-16 20:31:09 273 2

原创 【文科生带你读JavaScript数据结构与算法】1. 双向链表与LRU缓存算法原理与实现(上)

在计算机科学中,一个双向链表(doubly linked list或者我们俗称它为双链表也行),是由一组称为节点的顺序链接记录组成的链接数据结构。每个节点包含两个字段,称为链接,它们是对节点序列中上一个节点和下一个节点的引用。开始节点和结束节点的上一个链接和下一个链接分别指向某种终止节点,通常是前哨节点或null,以方便遍历列表。如果只有一个前哨节点,则列表通过前哨节点循环链接。它可以被概念化为两个由相同数据项组成的单链表,但顺序相反。

2023-05-14 22:08:48 382

原创 【ChatGPT带你学Vue】Vue3 核心源码解析(1)createApp 、h函数、nextTick

首先安利一个非常好用的小站,清晰地梳理了Vue3源码的一些核心模块,结合ChatGPT插件的代码解释功能一起阅读,无比丝滑!下面就记录一下AI帮我分析的源码相关内容。

2023-05-10 17:16:53 1202 4

原创 Vue长列表优化实践(infinite-list Renderless组件)

在任何前端项目中,当页面内某处的列表数据量较多时,如果不做任何处理直接循环整个列表数组对象,就会一股脑的把这成百上千个DOM节点全部渲染出来,但我们实际能看到的列表项可能也就那么几条十几条,这些可视区之外成百上千个DOM节点显然都是不必要的性能开销,数据量要是再大一些,卡顿和崩溃都无法避免。可视区高度就是上图中的viewportHeight,每一个列表项的高度就是上图中的itemHeight(包括内容高度和边框、内外边距),当列表开始滚动时,滚动过的距离就是上图中的scrollTop。

2023-04-14 17:58:20 896

原创 elementUI 表单项自定义校验设置必填项required的问题

使用elementUI的表单校验有时需要用到默认校验和自定义校验的组合规则,比如下面这种部分表单项需要根据其他非input内容是否为空进行校验。

2023-01-30 17:20:04 4850 4

原创 移动端页面切出应用导致文件上传失败的后续处理

今天遇到一个Vue移动端项目的小问题,在一个表单提交页面进行批量上传图片的过程中途,从当前应用切出去一段时间,再切回当前应用时,发现图片一直处于上传中的状态,只能通过刷新或返回上一页重置,如下图所示。不管切出标签页还是切出整个浏览器应用,都会触发这个事件,而这个事件会对document的visibilityState属性进行修改,页面打开的时候默认为"visible",切出后。看到这里,首先想到的是监听当前标签页切换,然后根据事件触发的状态变更进行随后的逻辑处理。

2022-12-01 13:36:25 259

原创 Vue + Vant + Vuex前端缓存实现带搜索和可点选路径的移动端树形选单列表实践(1)

本篇要记录的是一个完整功能里的其中一部分,这个功能需求大致是在移动端给所选分组下的管理员用户留言,管理员用户可在PC端对留言用户进行回复,而这个功能中除了移动端和PC管理端的列表操作,还涉及一个重要的功能模块——,大概长下图这样:由于移动端项目之前没有这种功能的存量代码,因此需要从零开始手动实现。下面开始记录实现过程和思路。

2022-10-19 21:36:08 2562 6

原创 Vue + 原生Canvas实现生成电子证书的实践

上次写完笔记后发现还是挺有用的,就考虑以后还是继续不定期记录一下,复盘之前开发过程中的思路并激发一些新的灵感,还是蛮不错的。这次要记录的是之前做过的一个电子证书的小功能。需求非常非常简单,只需要把背景图和动态的文本合成并生成一个图片文件即可。当然,这个需求的实现方式有多种多样,最简单的直接html+css无脑堆样式然后用插件转换成图就行,也不会有任何性能问题。不过为了顺便复习一下我那吃灰吃的都快包浆了的Canvas的知识,这次就直接选择了Canvas渲染的方式。

2022-10-13 13:39:05 3187

原创 Vue项目中富文本编辑器组件二次封装实践

最近接到一个小需求,要求对原项目的富文本编辑器进行统一化。由于之前没有具体的规范约束,该PC端项目中在不同模块中分别引入了3种不一样的富文本编辑器,一来不便于维护,二来样式不统一,用户使用也可能存在疑惑,于是我需要考虑重新封装一个富文本编辑器组件,再将旧代码中引入的富文本编辑器组件统一替换为新的。以下记录整个任务实现的大致思路

2022-10-10 16:42:05 1466 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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