当前位置: 首页 > wzjs >正文

湖南建设监理员报名网站少儿编程培训哪个机构好

湖南建设监理员报名网站,少儿编程培训哪个机构好,优秀网页设计案例赏析之淘宝,wordpress 深度定制文章目录 原因解决方案方案1(尝试且有效)方案2方案3 之前在写项目时,用到了进度条插件(效果如下),但是遇到了一个比较影响用户体验的问题,就是当路由还没进行跳转,进度条已经加载完&…

文章目录

  • 原因
  • 解决方案
    • 方案1(尝试且有效)
    • 方案2
    • 方案3

之前在写项目时,用到了进度条插件(效果如下),但是遇到了一个比较影响用户体验的问题,就是当路由还没进行跳转,进度条已经加载完,也就是说,用户想要进入其他页面时,明明已经看到进度条加载完了,但是仍然停留在当前页面,进度条完成之后还要等待一段时间,路由才能进行跳转
在这里插入图片描述

nprogress.configure({easing: "ease",speed: 800, // 增加速度让进度条走得慢一些showSpinner: false, // 显示spinner让用户知道在加载trickleSpeed: 100, // 减慢自动递增速度minimum: 0.1, // 降低最小值
});router.beforeEach((to: any, from: any, next: any) => {const userStore = useUserStore();let permissions = userStore.permissions;nprogress.start();const token = getLocalStorageWithExpire("token");// 白名单:登录页,首页和报名页不需要 tokenif (to.path === "/login" || to.path === "/" || to.path === "/application") {if (token) {// 已登录时特殊处理if (to.path === "/login") {// 已登录访问登录页,跳转到首页return next("/");} else if (to.path === "/application") {// 已登录访问报名页,跳转首页并提示showAlert("已登录用户不可访问报名页", "error");return next("/");}}// 其他白名单情况正常放行return next();}// 未登录且访问其他页面,跳转登录页if (!token) {return next("/login");}// 权限判断if (to.path.startsWith("/admin") && !permissions.includes(to.meta.roles)) {router.push("/404");}next();
});
//关键所在router.afterEach((to: any, from: any) => {nprogress.done();
});

原因

后来在控制台查看了网络请求,发现网络请求时间过长,
因此也就有了一个推测:
NProgress 在 router.afterEach 中结束,但此时懒加载的组件可能还在kukuku的网络请求中
路由已经"跳转完成",但组件内容还没加载完

解决方案

方案1(尝试且有效)

使用beforeResolve,这样进度条会等待组件懒加载完成(关键)
修改nprogress 设置,让其慢一些(这个可改可不改)

router.beforeResolve((to, from, next) => {// 此时组件已经加载完成,地址栏也会更新nprogress.done();next();
});
nprogress.configure({easing: "ease",speed: 800, // 增加速度让进度条走得慢一些showSpinner: false, // 显示spinner让用户知道在加载trickleSpeed: 100, // 减慢自动递增速度minimum: 0.1, // 降低最小值
});

方案2

处理懒加载组件的加载状态
由于项目使用的是自动导入路由,这个方法没有试

// 创建一个包装函数来处理懒加载
function lazyLoadComponent(importFunc) {return () => {NProgress.start()return importFunc().then(module => {NProgress.done()return module}).catch(error => {NProgress.done()console.error('组件加载失败:', error)throw error})}
}// 使用包装函数
const routes = [{path: '/',name: 'Home',component: lazyLoadComponent(() => import('@/views/Home.vue'))},{path: '/about',name: 'About',component: lazyLoadComponent(() => import('@/views/About.vue'))}
]

方案3

使用全局混入

app.mixin({async beforeRouteEnter(to, from, next) {NProgress.done()next()}
})
http://www.dtcms.com/wzjs/783911.html

相关文章:

  • 怎么做静态网站濮阳网站建设通图片
  • 设计型网站自带优化广州网站设计报价
  • 做网站策划用什么软件小程序搭建挣钱
  • tv网站建设网站配色技巧
  • 网站搭建服务器公司网站上线
  • 网站开发模块化网站被host重定向
  • it初学者做网站响应式网站图解
  • 青山网站建设网页设计与制作软件
  • 做自媒体要知道的网站怎么在自己的电脑做网站
  • 网站分析培训班在手机上怎么注册公司
  • 效果好网站建设哪家便宜godaddy wordpress 备
  • 沈阳市网站设计制作公司易推广
  • 网站首次打开速度慢wordpress网站点击量与排名
  • 秦皇岛和平大街网站建设小版本wordpress
  • 哪里有做网站服务网站推广优化如何做
  • 网站ip段屏蔽白银市建设局网站首页
  • wordpress企业站主题免费网站备案信息变更
  • 上海松江网站建设公司html5动画效果代码
  • 如何做网站的源码网站要怎么做关键词
  • 类似设计师联盟的网站开发区网站建设的目的
  • 国家建设部网站证书查询苏州高端网站建设咨询
  • 网站建设的问题分析自己做网站需要哪些软件
  • 网站开发人员职责seo商学院
  • 全国网站联盟网站建设企业网站界面设计
  • 做有奖竞猜网站违法吗网络营销方法的选择
  • 织梦电影网站模板wordpress汉化音乐主题
  • 医疗器械类网站前置审批材料模板公司网站建设说明书
  • 企业网站制作心得如何进行免费网络推广
  • 做网站需要什么电脑配置开发网站的过程
  • 免费的黄冈网站有哪些平台游戏软件太原市一页网络科技有限公司