自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Redux】通过示例和简化源码深入了解Redux原理

通过示例和简化源码深入了解Redux原理,包含以下函数:createStore、dispatch、getState、subscribe;compose;applyMiddleware、redux-promise、redux-thunk、redux-logger;combineReducers;bindActionCreators

2023-03-16 10:35:12 186 1

原创 【React】Antd Upload组件的常用属性以及在表单Form中的使用

Ant Design Upload上传组件常见属性介绍:beforeUpload、defaultFileList、fileList、action、onChange等,上传文件后点击文件就自动下载对应文件在Form表单中如何做到数据回显,即配置初始化文件列表数据不同后缀名的文件显示对应的图标,超过3行显示滚动条,空间上显示3.5行

2022-10-12 18:05:03 5469

原创 【React】手写Antd Select联动效果组件

但是这个联动的例子是写死的,无法通过配置的形式直接生成(即传入后台请求回来的需要联动的数据直接生成两个甚至三个四个联动的select),组件复用性不强,并且当表单提交的时候无法获取到两个select组件的value。1. 生成如下的数据结构,使得除了第一个select,其他的select依赖上一个select选中的value。3.从props中获取Form.Item中的提供的onChange方法,当下拉框选项改变的时候调用。3.如何在表单提交时也可以获取到所有select组件的value?...

2022-08-12 17:19:53 2537

原创 【Node】Koa调用阿里云短信服务实现用户注册(个人)

需求:通过Koa调用阿里云短信服务实现用户注册的功能。没有企业资质,个人想要调用阿里云短信服务,我的解决办法是购买其他公司已经开通的阿里云短信服务。一. 购买1. 在阿里云首页搜索框搜索“短信验证码”2. 选择其中一个并购买二. 代码实现0. 研究示例代码1. 发送短信验证码2. 在数据库中保存短信验证码等信息3. 校验输入的注册信息4. 注册...

2022-07-31 17:08:56 837 1

原创 【算法】JS 滑动窗口&(最大/小堆 | 单调队列) 力扣周赛6911. 不间断子数组

力扣周赛352,6911. 不间断子数组,js题解

2023-07-02 16:53:37 216

原创 【算法】JS 暴力 or 质因子分解 力扣周赛6309. 分割数组使乘积互质

力扣周赛6309. 分割数组使乘积互质的JS暴力解、质因子分解

2023-03-05 21:53:45 227

原创 【性能优化】作为一名前端工程师,网页白屏了该怎么做

上周面试被问到这个问题,磕磕绊绊地答了一点,写个博客记录一下解决的主要思路。

2023-03-01 15:00:00 859

原创 【算法】JS 贪心+二分 力扣周赛6367. 求出最多标记下标

力扣周赛6367. 求出最多标记下标,JS 贪心+二分题解

2023-02-26 15:08:36 89

原创 【你不知道的JavaScript】(07)原型

本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺——《你不知道的JavaScript(上卷)》第二部分this和原型中的第5章”原型“

2023-02-23 10:14:13 51

原创 【你不知道的JavaScript】(06)this+对象+深浅拷贝

本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺——《你不知道的JavaScript(上卷)》第二部分this和对象原型。

2023-02-14 14:15:57 113

原创 【算法】JS + 二分 力扣周赛6355. 统计公平数对的数目

力扣周赛6355. 统计公平数对的数目,JS+二分题解,通过这题对二分的理解更加深刻

2023-02-12 14:01:25 71

原创 【你不知道的JavaScript】(05)作用域+闭包+编译执行过程

本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺——《你不知道的JavaScript(上卷)》第一部分作用域和闭包。

2023-02-10 11:31:06 66

原创 【你不知道的JavaScript】(04)Web Worker+性能测试

本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺——《你不知道的JavaScript(中卷)》第二部分异步和性能中的第五章”程序与性能“、第六章”性能测试与调优“

2023-02-06 14:15:00 182

原创 【算法】JS DP 二分 力扣6346. 打家劫舍 IV

力扣周赛6346. 打家劫舍 IV 通过DP+二分解决

2023-02-05 12:42:31 164

原创 【你不知道的JavaScript】(03)异步+Promise+生成器

本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺——《你不知道的JavaScript(中卷)》第二部分异步和性能中的第一章”异步:现在与将来“、第二章”回调“、第三章”Promise“、第四章”生成器“

2023-02-03 12:03:26 246

原创 【你不知道的JavaScript】(02)原生函数+强制类型转化+语法

《你不知道的JavaScript(中卷)》原生函数、原生函数与构造函数、valueOf、Symbol、特殊的原生函数、JSON、Number、Boolean、+、parseInt、==、语句和表达式、原孙福优先级

2023-01-31 09:52:59 57

原创 【算法】JS 快速幂 BigInt 力扣6338猴子碰撞的方法数

力扣6338猴子碰撞的方法数,通过JS+快速幂+BigInt解决

2023-01-29 13:42:14 168

原创 【你不知道的JavaScript】(01)基础+数组+字符串+数字

阅读《你不知道的JavaScript(中卷)》一书的第一、第二章后的笔记,包含JavaScript是什么类型的语言,判断一个值是否为null,undefined和undeclared和null,稀疏数组,类数组,数组常用方法有哪些,字符串的不可变含义,字符串中有哪些常用方法,如何判断较小浮点数是否相等,NaN,Infinity,0的知识点

2023-01-24 21:04:09 91

原创 【算法】JS DP 力扣6299拆分数组的最小代价

力扣329周赛6299拆分数组的最小代价,JS+DP解题

2023-01-22 14:53:22 151

原创 【算法】JS滑动窗口 力扣6293统计好子数组的数目

力扣6293. 统计好子数组的数目 JS滑动窗口解决

2023-01-15 14:36:59 175

原创 【计算机网络】TCP/IP网络模型里这些问题你会吗

介绍计算机网络中TCP/IP网络模型中的一些常见问题,通过这些问题帮助自己复习;为什么需要有TCP/IP网络模型;应用层的作用,有哪些协议;传输层的作用,TCP、UDP特点,数据包为什么要分块,端口的作用、端口的分类和数值;网络层的作用,常见协议,报文特征,报文分片,MTU与MSS,IP地址,网络号,主机号,子网掩码,IP寻址;网络接口层的作用,以太网是什么,MAC地址头部的作用,ARP协议的作用。

2023-01-08 20:39:26 90

原创 【Node】腾讯云OSS存储上传图片

通过Node.js,Koa完成腾讯OSS上传图片,完整的前端Vue及后端Koa代码展示

2022-12-03 15:39:09 1431

原创 【webpack】HRM模块热替换原理

webpack的HRM模块热替换过程及原理

2022-11-24 14:15:00 221

原创 【webpack】webpack模块化原理学习笔记

根据webpack打包后的代码理解CommonJS与ESModule在webpack5中的实现原理

2022-11-20 09:15:00 240

原创 【webpack】source-map学习笔记

webpack中source-map学习笔记,devtool的主要属性值介绍

2022-11-14 12:15:24 495

原创 【mini-vue】runtime-core模块学习

参数:rootComponent对象,是一个JavaScript对象(可能包含name、setup、render等属性)返回值:返回一个带有mounted方法的对象。

2022-08-31 21:00:00 1221

原创 【mini-vue】DIFF算法学习笔记

对数组newIndexToOldIndexMap求最长递增子序列的结果为increasingNewIndexSequence: [1, 3] ([4, 3, 0, 5]最长递增子序列为[3, 5],3的下标为1,5的下标为3),(AB ABCD)与(AB CDAB),如果是添加到尾部直接添加即可,如果添加到首部,需要获取锚点,则个锚点的位置是e2+1,遍历[i, e2]添加新节点。[2, 1, 5, 3, 4]的最长递增子序列为[2, 3, 4]或[1, 3, 4]遍历[s1, e1]...

2022-08-29 20:55:07 289

原创 【mini-vue】Reactive模块学习笔记

ReactiveEffect类RefImpl类ComputedRefImpl类activeEffect公共变量shouldTrack公共变量reactive函数ref函数computed函数readonly函数shallowReadonly函数effect函数targetMap公共变量track函数trigger函数stop函数isReactive函数isReadonly函数isProxy函数isRef函数unRef函数proxyRef函数......

2022-08-07 16:41:52 537

原创 【Node】Koa中通过JWT非对称加密生成Token

一. JWT实现Token机制1. header2.payload3.signature二. 非对称加密,生成私钥和公钥opensslgenrsa -out private.key 1024rsa -in private.key -pubout -out public.key三.Koa中通过JWT非对称加密生成TokenexpiresIn是过期时间;algorithm是选择的加密算法;生成token后保存倘若jwt的验证失败会自动抛出错误,因此需要通过try-catch包裹...

2022-07-30 20:02:46 1092

原创 【Node】通过4个问题了解Koa原理

调用了application.js中的classApplication中的类方法use,主要是将函数放入middleware这个数组中,等待被调用。调用application.js中的classApplication中的类方法listen,本质上还是调用了http.createServer。因此,compose函数主要的作用就是返回一个Promise,若用户调用了next函数,这个Promise会递归调用用户传入的中间件。callback方法在下面的“用户发送了请求,中间件是如何被回调的”中详细介绍。...

2022-07-26 21:57:39 412

原创 【Node】通过4个问题了解Express原理

后续当用户在中间件中执行了next,回到router/index.js中的proto.handle,这里还保存上一次匹配到中间件的状态信息idx,从而继续遍历匹配layer,调用layer中的回调函数,若回调函数中执行了next则继续查找匹配。把proto中的内容混入app,proto是从application.js中引入的,app.listen实际上调用的是application中的listen,而这个listen实际上调用了http.createServer。到这里,中间件就成功被回调了。...

2022-07-24 17:21:54 339

原创 TypeScript知识点总结

TypeScript类型原始类型StringArrayTupleanyunknownnevervoid{}Objectobject字面量类型类型断言as非空类型断言!枚举enum类型别名type可选类型?联合类型 |匿名函数参数 类型保护与类型缩小this函数的重载类接口interfaceinterface和type区别freshness擦除泛型模块化开发声明declare.........

2022-06-11 17:24:51 732

原创 手写el-table-column组件排序效果

需求实现产品列表筛选条件排序,记得element-plus中的el-table-column实现了对表格数据排序的效果,不过俺现在做的是移动端页面,用的vant,vant没有类似的组件,于是打算手写一个。思路v-for遍历显示从父组件传来配置数据信息,flex一行进行显示,当点击上三角按钮时为升序,下三角为降序,再次点击时取消排序,当三角按钮被点击时,触发自定义事件sortOptionsChange,传递给父组件对应的prop(哪一栏)和state(升序、降序、不排序)信息,父组件接收到子组件传

2022-05-14 21:04:59 1035

原创 Vue跨组件动态插槽传递

今天在看coderwhy老师后台管理系统项目实战视频的时候发现组件封装的思路与动态插槽传递非常有意思,写个博客记录一下!需求及基本信息说明组件Goods调用组件page-content,组件page-content调用组件hy-table。为了方便使用,组件page-content封装公共插槽(如果将所有页面的私有的插槽都一股脑放到组件page-content中封装性会变差),需要在Goods中传递私有插槽内容在hy-table中显示。这时候就产生了跨组件插槽传递的需求,而由于编译作用域

2022-05-10 19:41:08 2692 4

原创 vant swipe 三图一屏

效果图:需求:老师布置作业让大伙跟着b站的一个up做一个网易云音乐首页,up用的vue-awesome-swiper做轮播图,我用的vant,在做到“发现好歌单”模块的时候发现vant没有一屏显示多图的效果,于是自己魔改了一些样式凑合一下思路:改轮播组件overflow: hiddle为visible,设置轮播组件的宽为三分之一屏宽,轮播组件外包裹一个大盒子overflow: hiddle代码:<template> <div class="musicLis

2022-05-06 13:45:52 3453

原创 vue swiper 修改配置 数据更新 父组件向子组件myswiper传递多次参数 子组件只显示第一次传递的数据 解决方法

问题1:vue-awesome-swiper初始化swiperOption后,如何修改options中的配置,例如slidesPerView、autoplay等信息?解决方案:修改轮播图的params属性问题2:父组件向子组件传递多次参数,子组件只显示第一次传递的结果,子组件只接收第一次?结论:子组件其实都接收到了,可以监听props的值来更新组件的值。我想要实现轮播图动态更新slidesPerView,我最终的解决方案:监听子组件接受到的参数,当监听到参数发生改变,就更新slidesPerView

2022-03-04 16:09:29 2085

原创 轮播图左右按钮放到外面的思路

本人用的vue-awesome-swiper组件,组件默认的按钮是在里边的,如果改变left或right的值移到外侧会因为overflow:hidden;样式的影响而消失,我的做法是写一个假的按钮在外面,当点击假的按钮时获取轮播图按钮的dom结点进行“click” <div class="preview-product"> <my-swiper class="preview-product-swiper"

2022-02-10 11:09:19 1495

空空如也

空空如也

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

TA关注的人

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