100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue-router懒加载时添加loading提示提升用户体验

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

时间:2019-09-08 00:18:46

相关推荐

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

web前端|js教程

vue-router,loading,提示

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

jquery移动项目源码,vscode代码上移一行,com接口 ubuntu,部署tomcat及其负载均衡,爬虫不开食,php实用程序,完整的seo需要几个人lzw

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

c 管理系统源码下载,ubuntu怎么进入桌面,tomcat基本架构是什么,twitter 爬虫翻页,php怎么取json的值,seo用户分析lzw

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

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

首页源码,神舟装ubuntu,疯狂烹饪猫tomcat餐厅,linux 爬虫包,php工资高还是java,抖音seo选择抖快排4lzw

我们分析这行代码:

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)) }};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。