You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
importCompressorfrom'compressorjs';constcompressPicture=(file)=>{newCompressor(file,{quality: 0.6,success(result){constformData=newFormData();// The third parameter is required for serverformData.append('file',result,result.name);returnformData;},});};
目录
多请求下 loading 的显示与隐藏
在 vue 中一般会搭配 axios 做全局的请求方法,在拦截器中利用第三方组件控制 loading 展示和关闭,代码是这样的:
在多个请求的情况下,依照上面的设置方法,loading 在频繁的打开与关闭,会造成 loading 的闪烁,加载完成的真实时间可能被影响,造成用户体验不好。
下面的是解决方案,请求的数量做一个全局的变量,初始值为
0
,请求进入的时候+1
,请求被成功响应的时候-1
,当请求数量未 0 再没有需要请求的内容,loading 关闭,在这里 loading 的初始时间可以设置的稍长一些。同时,应当在请求错误与路由切换的时候做 归零操作,隐藏 loading,reset。单个页面控制,使用 promise 扩展
保留用户阅读位置
按钮点击频发
1px 像素
promise 扩展
Promise.all 错误处理,使用 every 方法,所有的 promise 都错误才触发 reject
localStorage 设置缓存过期时间
token 失效处理
图像资源压缩
借助 compressorjs 完成文件压缩资源优化。
自定义文件名下载
借助 downloadjs 实现 javascript 下载文件。
Tab 标签页下划线滚动
缓存用户编辑未提交的数据
例子:Session Storage 缓存,新建
issues
切换到pull requests
,保留编辑数据,重新打开new issues
缓存载入。登录后重定向用户之前访问的网址
异步请求进度条
借助 NProgress 实现用户可感知页面异步加载速度的进度条。
参考
The text was updated successfully, but these errors were encountered: