千家信息网

为vue-router懒加载时添加loading提示避免无响应怎么解决

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要讲解了"为vue-router懒加载时添加loading提示避免无响应怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"为vue-ro
千家信息网最后更新 2025年02月03日为vue-router懒加载时添加loading提示避免无响应怎么解决

这篇文章主要讲解了"为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))  }};

以上在vue-router 2.3.1通过。

感谢各位的阅读,以上就是"为vue-router懒加载时添加loading提示避免无响应怎么解决"的内容了,经过本文的学习后,相信大家对为vue-router懒加载时添加loading提示避免无响应怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

用户 提示 文件 代码 信息 函数 模块 学习 内容 只有 菜单 过程 问题 明显 必要 关键 再次 功能 就是 常会 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 武汉什么是分布式存储服务器 夫妻都在中国银行软件开发 天津多功能软件开发定制价格 学习网络技术的 计算机 延庆区智能软件开发服务价钱 暗黑2国服重制版有几个服务器 安徽云贾互联网科技有限公司 吉林软件开发平台 环保类软件开发企业 网络安全主题班会ppt单张图片 得服网络安全教育 创辉恒信北京网络技术 杭州盛立金融软件开发岗怎么样 互联网科技公司研发 浙江配件管理软件开发公司 网络安全 系统安全 内容安全 牛气科技移动互联网 深圳市智聘网络技术有限公司 csgo怎么看服务器 看门狗2育碧服务器 浙江电子网络技术收费 php如何操作数据库 李沧区ios软件开发外包公司 国电南瑞软件开发收入 信息网络安全口诀幼儿园 网络安全空间学排名 软件技术好学还是网络技术好学 抽象语法树数据库 软件开发交付应有什么东西 win管理员运行服务器
0