- 博客(540)
- 资源 (8)
- 收藏
- 关注

原创 使用微任务来实现缓冲队列
Javascript的所有的任务分为两种:在主线程上排队执⾏的任务,只有前⼀个任务执⾏完毕,才能执⾏后⼀个任务同步任务>微任务>宏任务以上内容参考:js中的同步和异步,宏任务和微任务,async和await - 百度文库我们可以明确知道 微任务的执行是低于同步任务的,有了这个概念后,对后面的内容理解就更加容易了。现在value变化一次时候,就会马上更新一下dom上面的doSomeThing函数的执行,是处于主线程中的,也是同步任务,是堵塞的,也是马上执行的。所以我们得把目光放到异步任务上
2022-06-11 19:13:14
489
2

原创 避免异步任务竞态更新-已过期的不再允许更新
这个概念在前端里面其实比较少听到,但是其实我们是有遇见过的,并且很常见。只是翻遍了前端书籍都很难到对这个概念的解释。有幸读到霍春阳的《vue.js设计于实现》,真的是三生有幸有代码①如下:let res=null;function async update(){res=await Api.get(“someThing”);return res;}var A=update();// 假设返回结果为avar B=update();//假设放回结果为b假设受到网络波动的..
2022-05-14 13:23:05
506

原创 react Dva.js框架分享
Dva.js出现的原因:React React 专注解决视图层问题,UI = f(data)只提供简单的setState手动更新 数据来触发视图更新,对多组件通讯或需要全局状态管理的支持不够健全,也缺乏computed这种生成组合变量的功能以及对某个组件变量的watchDva就是对react状态管理方面进行拓展依赖:redux提供功能:1.状态管理2.异步加载3.提供集成环境应用层面的语法:es6 Generator它简化了 redux 的使用,并且.
2021-11-14 06:34:50
2016

原创 wap 横屏适配和竖屏适配的通用方案
这个话题应该能聊的东西挺多的,从16年做手机端开始就研究,也写了两篇博客来记录过(但是受限于但是的经验和认知,现在看起来不是特别清晰)。为什么今天会继续这个话题呢,在做了reactnative和之前小游戏横屏页面后,我觉得有必要总结一下。本篇博客,最终针对wap横屏和竖屏给出两个通用的适配方案,rn上面可能实现方式和web的不大一样,但是思路逻辑是一样的。从生产流程来考虑,适配这个东西,产品经理和设计都是需要考虑的,相对传统pc设计,移动端能展示的区域比较小。这个就要求设计出来的产品(.
2021-03-18 20:07:00
2281
2

原创 react-native 表单校验库 react-native-validator
npm i react-native-validator说明这是一个类似jQuery.validator的表单校验工具点击查看demo提供两种常用的校验方式(1.点击校验所有表单元素通过就提交,2.在输入表单过程中自动验证,如果所有表单验证通过按钮高亮可点击提交)你可以覆盖所有样式支持动态表单校验(包括数组和对象)目前校验规则是写在elFormItem里面的,暂时不考虑在elForm上加MP4演示需要科学上网,你也可以下载仓库里面的video.mp4如果你npm下载后使用报错,建议拷贝包
2020-06-18 00:58:25
2489

原创 vue指令以及dom操作
“AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 通过内置的指令来为应用添加功能。AngularJS 允许你自定义指令。”这是我最初接触“指令”这个词。还记得那时候,ng大行其道的时候,我特别好奇怎么给一个div加一个"ng-app" 就能解决这么多问题。后来随着前端工作的深入,我用了jq的data-attr并且学会了jq的插件使用。但,这这并不能让我把它“指令...
2017-02-19 15:13:35
16442
原创 弹窗分页保留其他页面勾选的数据(vue)
摘要:本文介绍了一种实现多选弹窗保留勾选状态的方法。核心思路是在服务器返回数据之外维护一个列表A来存储勾选数据。关键步骤包括:1) 初始化时处理外部传入的已选数据;2) 获取列表数据时根据已选状态初始化勾选;3) 通过同步函数更新勾选状态,包括匹配外部传入数据和当前页面勾选数据,并合并新增勾选项。该方法封装了show、getList和updateSelected等核心函数,解决了页面切换时保持勾选状态的需求,避免了重复手动处理勾选状态的繁琐操作。
2025-09-11 10:16:14
402
原创 element ui v2,用js关闭MessageBox 弹框
Element UI的MessageBox组件(包括$alert、$confirm、$prompt)返回的是Promise实例,无法直接操作DOM关闭。正确关闭方式是调用this.$msgbox.close()。这些方法在完整引入Element时会自动挂载到Vue.prototype上。虽然官方文档未明确说明关闭方式,但可通过Vue实例调用。调用参数可参考相关技术社区讨论。需要注意的是,这种方式要求项目已完整引入Element UI组件库。
2025-08-22 17:00:38
257
原创 Promise.all任意一个失败都不会触发catch
摘要: 当使用Promise.all时,若其中任一Promise被reject,则会触发catch并返回第一个reject值。若希望即使有失败也继续执行并返回所有结果,需在每个Promise内部处理异常(通过catch返回自定义值)。未显式返回值的catch会导致结果为undefined。优化方案是在catch中返回结构化错误信息,确保Promise.all的then能接收到完整结果。关键点:各Promise需自行消化异常,避免向上抛出。最终输出示例:[{a:1}, {err:{b:2}, promise2
2025-08-20 10:59:12
218
原创 element el-cascader v-model,只传递选中节点id数组
摘要:通过设置emitPath:false,Element UI的级联选择器el-cascader可以简化多选模式下v-model的返回值格式。当值为[["100","1001"],['100','1002']]时,启用该配置后直接返回扁平化的数组['100','1001','1002']。示例代码展示了如何在组件中配置props参数实现该功能,同时支持多选(multiple:true)和严格选择模式(checkStrictly:true)。这一设置优化了数据结构处理
2025-08-12 15:39:25
174
原创 一些关于微前端的文章
深入调研了微前端,还是iframe最香微前端是什么 微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 - 掘金https://juejin.cn/post/7121883538311348238https://juejin.cn/post/7121883538311348238
2025-06-23 17:33:03
241
原创 vue组件渲染到iframe里面(同域名下),组件可以在同一项目下维护
1.不需要开启单独服务维护iframe里面的html。2.完美支持display:fixed布局问题。
2025-05-22 18:29:31
340
原创 vue2和vue3,一个很大区别的特性,一个elemntui v2表单校验引发的血案
vue2用的是Object.definedPropertyvue3用的是Proxy这大家都知道,问了都说知道什么回事😄😄,对不对那应该大家都知道Proxy的性能比Object.definedProperty好了吧那就不说了在家😂~~Vue2开发的时候有个要求,data里面元素的值是个对象(例如名字叫from)的时候,这个对象的属性必须在初始化时候都提供默认值,不能遗漏某个属性,后面再补充,除非用this.$set(this.form,”attr”,”value”)去更新这是为什么呢?
2025-05-15 17:55:06
516
原创 长列表局部渲染(监听window滚动),wndonw滚动同理
滚动到底时候获取裁剪位置,的到需要渲染的20条数据,通过vue diff算法更新到dom。后端一股脑给了几千个数据,我们滚动过程永远只渲染20条。
2025-03-20 12:52:31
367
原创 uniapp-x js 编程最佳实践(无奈的妥协写法)
两个对象必须是UTSJSONObject,如果有其他对象类型,需要先转成UTSJSONObject。执行后还需要执行JSON.parse<>(JSON.stringly(结果对象))!合并UTSJSONObject和其他类型数据,函数封装。
2025-03-17 16:21:07
271
原创 uniapp-x vue 特性
可以监听应用和页面的生命周期。但由于应用和页面都有onShow和onHide,导致重名。所以在组合式的组件中监听页面的显示隐藏,改为了。这个和uniapp不一样,uniapp自定义组件无法监听页面生命周期。onPageShow和onPageHide。
2025-03-15 14:26:50
376
原创 uniapp-x 子组件样式覆盖
阅读代码,找到对应的样式,页面内覆盖即可,只要不涉及uniapp自带ui组件内部元素。例如input在web端,内部会有一个input标签,通过样式可以修改到。所以不要用样式修改内部标签,直接给input挂载一个class即可。那如果我想修改子孙节点的样式是不是很方便,不需要v-deep了?但是编译成app后是不存在这个标签的!默认不支持scoped,所以写也没用。
2025-03-15 11:01:35
687
原创 uniapp-x 之useAttrs只读
上面结论基于XBuilder V4.54.2025030608-alpha。useAttrs在web端拿到的是obj,app拿到的是map。这意味着你想这样写代码将会无效。
2025-03-15 10:52:50
382
原创 Electron视图进程和主进程通讯
视图线程也就index.html是无法直接访问这个api的(如果没有开启视图层访问nodejs的功能,现在几乎没法直接开启,开启了一堆警告提示)所以需要通过reload.js方式给index.html视图层注入对应的方法,挂在window对象下面个人建议使用ipcRenderer.invoke如果是仅仅视图层发起消息,不关注后续处理结果,推荐使用。
2025-02-13 16:36:17
719
原创 vue 动态替换父组件
替换父组件??什么鬼???这个场景的确很少见!!不过我们要说的的确是要替换父组件!!!!!!就是子组件内容不变但是父组件变化我们要把父组件替换成其他的,虽然这种场景不大可能遇到,但是爱转牛角尖的我还是决定试一试!!
2024-08-30 00:49:55
594
1
原创 flex-basis实现min-width和max-width
flex-basis是定义flex容器子元素的基础宽度的,这个宽度回受到flex-shrink和flex-grow的影响例如设置了子元素flex-basis: 200px,这不一定子元素的宽度就等于了200px,还要看另外两个属性以及父容器的宽度的影响。
2024-08-29 08:52:18
468
原创 css rem之2024
为了避免使用js计算,我看到有些网站时用媒体查询给html设置fontSize的,这个方式也不失为一种解决方式,但是需要维护好几个设备宽度,并且并不全面,虽然问题不大,但是并不够完善。这个html fontsize的大小是通过js动态计算的,而这个js的运行时晚于html渲染的,所以会导致一个问题,进入页面时候会看到页面整体缩放一下。我们同一家公司里面的设计稿肯定必须得统一一个标准的,目前主流就是750,如果出现不同尺寸饿设计稿,这时候就应该是工作流程活着标准上面出现了什么问题了,
2024-08-10 19:08:48
628
原创 移动网页缩放。 meta name=“viewport maximum-scale知多少
这个viewport熟悉有哪些,我们直接从文档可以查阅的到,也可以很清晰的明白它所表达的内容文档控制页面允许放大的倍数。设置一个低于3的值将不具备无障碍访问性。最小值是0.1。最大值是10。默认值为1。负值会被忽略。文档说最小值是0.1,其实我们可以设置0的。
2024-08-10 18:45:37
632
原创 uniapp-小程序命令行打包上传
直到看到{"_status":"done","_msg":"upload","_id":"xxx"},整个项目上传成功。key是单独文件放在某个目录里面,在上面updated函数里面给配置配置好读取的key的目录文件。字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。上传需要配置小程序的key以及本次上传的改动说明,其他就是。同级的) 根目录中存在这个文件,那么它会被。上传过程中会自动的输出log,配置文件,如果项目的 (和。
2024-08-04 16:47:49
860
原创 图-基础概念
如果两个订单v,w,只能由v向w,而不能w向v,那么我们就把何种情况叫做一个从v到w的有向边。v也被陈作初始点,w也被称为终点。这种图也被称为有向图。通过一个二维数组G[N][N]表示N个点到N-1编号,通过邻街矩阵可以立即看到两个订单直接是否存在一条边。如果v和w是没有顺序的,从v到达w和从w到达v是完全相同的,这种图就叫做无向图。图是一种抽象的数据类型,在图中的数据元素通常称作。,V是所以定点的集合,E是所有边的集合。上面的set是用来做去重的。结果:0,1,2,3,4。
2024-08-04 10:39:02
378
cors,谷歌插件,破除下载图片空白
2023-07-10
jqZoom放大镜,淘宝放大镜,jqZoom.js
2015-07-25
程序员的数学,程序员的数学 3线性代数
2018-08-02
我的文章怎么变成vip可见了!!经过我同意了吗
2025-04-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人