最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

vue-router懒加载时添加loading提示提升用户体验

来源:懂视网 责编:小采 时间:2020-11-27 19:56:17
文档

vue-router懒加载时添加loading提示提升用户体验

vue-router懒加载时添加loading提示提升用户体验:这次给大家带来vue-router懒加载时添加loading提示提升用户体验,vue-router懒加载时添加loading提示提升用户体验的注意事项有哪些,下面就是实战案例,一起来看一下。用过vue-router都知道它可以实现模块js的懒加载,即只有当需要时才去加载对应模块的js脚
推荐度:
导读vue-router懒加载时添加loading提示提升用户体验:这次给大家带来vue-router懒加载时添加loading提示提升用户体验,vue-router懒加载时添加loading提示提升用户体验的注意事项有哪些,下面就是实战案例,一起来看一下。用过vue-router都知道它可以实现模块js的懒加载,即只有当需要时才去加载对应模块的js脚

这次给大家带来vue-router懒加载时添加loading提示提升用户体验,vue-router懒加载时添加loading提示提升用户体验的注意事项有哪些,下面就是实战案例,一起来看一下。

用过vue-router都知道它可以实现模块js的懒加载,即只有当需要时才去加载对应模块的js脚本文件,以加速主页的显示。比如只有第一次用户点击某个“用户信息”按钮或菜单时,才下载“用户信息”这个模块的js组件。

懒加载的实现,依赖与webpack下AMD模式require函数的功能。webpack会将异步require的文件生成一个独立的js文件,调用时异步下载这个js且在完成后再执行它。开发项目中实现的关键代码是:

const basicInfo = {
 path: '/user',
 component: resolve => require(['./basicInfo.vue'], resolve) 
}
//然后将这个basicInfo加入路由表中

但是这里有个问题:从用户点击“用户信息”菜单开始,到js文件下载完毕执行开始,由于从网络下载js有一个时间延迟,这期间用户界面是没有任何响应的,让用户感觉点上去无效,常会重复再次点击。特别是js文件大而网速慢时更明显。因此,在这个过程中添加一个Loading的加载提示很有必要。

我们分析这行代码:

resolve => require(['./basicInfo.vue'], resolve)

它是一个函数,执行了require的过程,完成后再调用resolve回调函数。我们只要封装一下,在require执行之前显示Loading,然后在加载完成执行回调的时候隐藏Loading,也就实现这个需求了。如下:

const basicInfo = {
 path: '/user',
 component: resolve => {
 [显示Loading]
 require(['./basicInfo.vue'], component => {
 [隐藏Loading]
 resolve(component)
 })
 }
};

显示和隐藏Loading的代码,可根据自己的UI框架处理就行。比如element-ui:

import { Loading } from 'element-ui';
var unique;
export default {
 show() {
 let opt = {body: true, text: 'Loading...'};
 if(!unique) unique = Loading.service(opt);
 },
 resolve(resolve) {
 return function (component) {
 if (unique) {
 unique.close();
 unique = null;
 }
 resolve(component)
 }
 }
}
const basicInfo = {
 path: '/user',
 component: resolve => {
 spinRoute.show();
 require(['./basicInfo.vue'], spinRoute.resolve(resolve))
 }
};

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

Vue项目中如何引入腾讯验证码功能

babel怎么转换es6的class语法

vue cli升级webapck4的使用方法

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

vue-router懒加载时添加loading提示提升用户体验

vue-router懒加载时添加loading提示提升用户体验:这次给大家带来vue-router懒加载时添加loading提示提升用户体验,vue-router懒加载时添加loading提示提升用户体验的注意事项有哪些,下面就是实战案例,一起来看一下。用过vue-router都知道它可以实现模块js的懒加载,即只有当需要时才去加载对应模块的js脚
推荐度:
标签: 用户 VUE 增加
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top