暂无搜索历史
在单页应用里,输入框搜索、路由切换、标签页关闭这些场景下,经常出现“上一个请求还没回来,新的请求又发出去了”的情况。如果不取消旧请求,轻则渲染过期数据,重则因为...
项目里同时存在 interface 和 type 定义,时间一长就出现了同一种结构两种写法混用的情况。平时写业务不会立刻出问题,但到了需要扩展、交叉或做工具类型...
在最近维护的一个后台管理项目中,我遇到了一个很典型的问题:一个用于显示用户权限变更的 watch 回调在用户切换角色后偶尔不触发,但刷新页面后又恢复正常。排查后...
项目里经常遇到需要上传几百兆甚至上 GB 文件的场景,比如视频素材、设计源文件或者数据备份。直接使用 fetch 或者 XMLHttpRequest 上传,一旦...
这个输出顺序很多人能背出来,但把它放到一个真实的列表渲染场景里,问题就不是背顺序那么简单了。前段时间改一个表格组件,用户连续勾选几百行,每勾选一次就触发一次父组...
在写 TypeScript 的时候,我经常遇到一个很别扭的情况:想给一个对象声明类型,让每个属性值都被推断成具体的字面量,而不是被拓宽成 string、numb...
写 Node.js 服务时,Stream 几乎是绕不开的东西。上传文件、解压归档、转发日志,背后都是流在跑。很多人第一次踩坑的地方不是读不到数据,而是出错之后资...
做图片懒加载、广告曝光上报或者无限滚动时,很多团队已经用 IntersectionObserver 替代了 scroll 事件监听。它确实省去了手动计算 get...
在维护一个后台管理系统时,我遇到了一个典型问题:父组件通过接口获取用户详情后,将 userInfo 对象传给子组件,子组件用 watch 监听 props.us...
接口返回的 JSON 层级稍微深一点,写业务代码时就很容易被 Cannot read properties of undefined 打断。比如 res.dat...
在 Vue 3 的 Composition API 里,watch 和 watchEffect 都支持一个很多人见过但没深究的 onCleanup 回调。它最常...
在 Vue 3 组件里用 watch 或 watchEffect 监听数据时,大部分场景都不需要手动停止,因为组件卸载后这些侦听器会自动失效。但一旦把侦听器创建...
调接口的时候看到某个请求花了 1.2 秒,但后端说服务端处理只用了 80 毫秒,两边对不上。打开 Network 面板把瀑布图展开,能看到一行一行彩色的小条,分...
在 Vue 3 项目里封装表单组件时,经常会把 v-model 透传到内部的 <input> 或 <select> 上,比如做一个 BaseInput 组件,父...
线上有个基于 Vue 3 的弹窗组件,需要在打开后自动聚焦到里面的输入框。代码看起来没什么问题:点击按钮把 visible 设为 true,然后立刻调用 inp...
在维护一个后台管理系统时,我需要把一份包含日期、Map 和自定义 class 实例的配置对象深拷贝到草稿状态里。以前一直用 JSON.parse(JSON.st...
在浏览器里做搜索建议、切换 Tab 重新拉数据、或者组件卸载时取消未完成的请求,很多人会直接用 AbortController 配合 fetch。实际写的时候会...
上周排查了一个线上问题,页面在部分用户手机上直接白屏,控制台报 Cannot read property 'name' of undefined。定位到代码时发...
用 <ul> 和 <ol> 做列表时,浏览器默认给每个 <li> 生成一个圆点或数字。这些标记在很长一段时间里没法直接改样式,想换颜色或图标只能把 list-s...
在 Vue 3 里用 watch 或 watchEffect 监听响应式数据并发送异步请求时,很容易碰到一个隐蔽的问题:快速切换筛选条件后,先发出的请求可能比后...
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市