首页 >> js开发 >> jsVue项目页面跳转时浏览器窗口上方显示进度条功能js大全
jsVue项目页面跳转时浏览器窗口上方显示进度条功能js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
在vue项目中,为了减少首屏加载的时间,通常会开启路由的懒加载。路由懒加载配合gizp确实能帮助我们大大的加快首屏的加载时间。然而,路由懒加载会使得我们在第一次打开一个新页面的时候,会有一个加载时间。如果在这个时候我们没有一个提示的话,给人的感觉会是好像我点了页面跳转但是没反应。所以,这个时候我们可以加一个进度条来告知用户。具体实现,我们使用NProgress这个滚动条效果插件。1.安装:1.安装:
cnpm install --save nprogress
cnpm install --save nprogress2.在main.js中引入:2.在main.js中引入:
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'3.在main.js中进行配置:3.在main.js中进行配置:
NProgress.configure({
easing: 'ease', // 动画方式
speed: 500, // 递增进度条的速度
showSpinner: false, // 是否显示加载ico
trickleSpeed: 200, // 自动递增间隔
minimum: 0.3 // 初始化时的最小百分比
})
NProgress.configure({
easing: 'ease', // 动画方式
speed: 500, // 递增进度条的速度
showSpinner: false, // 是否显示加载ico
trickleSpeed: 200, // 自动递增间隔
minimum: 0.3 // 初始化时的最小百分比
})4.在main.js中对路由钩子进行设置:4.在main.js中对路由钩子进行设置:
//当路由进入前
router.beforeEach((to, from , next) => {
// 每次切换页面时,调用进度条
NProgress.start();
// 若加载时间长且不定,担心进度条走完都没有加载完,可以调用
NProgress.inc();//这会以随机数量递增,且永远达不到100%,也可以设指定增量
next();
});
//当路由进入后:关闭进度条
router.afterEach(() => {
// 在即将进入新的页面组件前,关闭掉进度条
NProgress.done()
})
//当路由进入前
router.beforeEach((to, from , next) => {
// 每次切换页面时,调用进度条
NProgress.start();
// 若加载时间长且不定,担心进度条走完都没有加载完,可以调用
NProgress.inc();//这会以随机数量递增,且永远达不到100%,也可以设指定增量
next();
});
//当路由进入后:关闭进度条
router.afterEach(() => {
// 在即将进入新的页面组件前,关闭掉进度条
NProgress.done()
})补充:vue页面跳转方法补充:vue页面跳转方法补充:vue页面跳转方法vue2.0在使用的过程中, .vue文件之间的跳转,需要在router里面配置path,通过路径跳转,html文件跳转如下:
但是有时的需求是页面不直接跳转,有确认弹框或者其他事件,此时就需要在js中设置跳转,方法如下:
this.$ router.push({path: ‘/…'}); path为跳转路径,此方法会产生历史记录
this.$ router.push({name:'…'}) name也可以作为路由跳转
this.$ router.push({path:‘home',query:{obj:'…'}}) query:参数,可通过this.$ route.query.obj获取
this.$ router.push({path:‘home',params:{obj:'…'}}) query:参数,可通过this.$route.params.obj获取
this.$router.replace() 此方法不会产生历史记录
this.$router.go(n) 向前或向后跳转n个页面
this.$ router.push({path: ‘/…'}); path为跳转路径,此方法会产生历史记录
this.$ router.push({name:'…'}) name也可以作为路由跳转
this.$ router.push({path:‘home',query:{obj:'…'}}) query:参数,可通过this.$ route.query.obj获取
this.$ router.push({path:‘home',params:{obj:'…'}}) query:参数,可通过this.$route.params.obj获取
this.$router.replace() 此方法不会产生历史记录
this.$router.go(n) 向前或向后跳转n个页面总结总结总结
cnpm install --save nprogress
cnpm install --save nprogress2.在main.js中引入:2.在main.js中引入:
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'3.在main.js中进行配置:3.在main.js中进行配置:
NProgress.configure({
easing: 'ease', // 动画方式
speed: 500, // 递增进度条的速度
showSpinner: false, // 是否显示加载ico
trickleSpeed: 200, // 自动递增间隔
minimum: 0.3 // 初始化时的最小百分比
})
NProgress.configure({
easing: 'ease', // 动画方式
speed: 500, // 递增进度条的速度
showSpinner: false, // 是否显示加载ico
trickleSpeed: 200, // 自动递增间隔
minimum: 0.3 // 初始化时的最小百分比
})4.在main.js中对路由钩子进行设置:4.在main.js中对路由钩子进行设置:
//当路由进入前
router.beforeEach((to, from , next) => {
// 每次切换页面时,调用进度条
NProgress.start();
// 若加载时间长且不定,担心进度条走完都没有加载完,可以调用
NProgress.inc();//这会以随机数量递增,且永远达不到100%,也可以设指定增量
next();
});
//当路由进入后:关闭进度条
router.afterEach(() => {
// 在即将进入新的页面组件前,关闭掉进度条
NProgress.done()
})
//当路由进入前
router.beforeEach((to, from , next) => {
// 每次切换页面时,调用进度条
NProgress.start();
// 若加载时间长且不定,担心进度条走完都没有加载完,可以调用
NProgress.inc();//这会以随机数量递增,且永远达不到100%,也可以设指定增量
next();
});
//当路由进入后:关闭进度条
router.afterEach(() => {
// 在即将进入新的页面组件前,关闭掉进度条
NProgress.done()
})补充:vue页面跳转方法补充:vue页面跳转方法补充:vue页面跳转方法vue2.0在使用的过程中, .vue文件之间的跳转,需要在router里面配置path,通过路径跳转,html文件跳转如下:
this.$ router.push({path: ‘/…'}); path为跳转路径,此方法会产生历史记录
this.$ router.push({name:'…'}) name也可以作为路由跳转
this.$ router.push({path:‘home',query:{obj:'…'}}) query:参数,可通过this.$ route.query.obj获取
this.$ router.push({path:‘home',params:{obj:'…'}}) query:参数,可通过this.$route.params.obj获取
this.$router.replace() 此方法不会产生历史记录
this.$router.go(n) 向前或向后跳转n个页面
this.$ router.push({path: ‘/…'}); path为跳转路径,此方法会产生历史记录
this.$ router.push({name:'…'}) name也可以作为路由跳转
this.$ router.push({path:‘home',query:{obj:'…'}}) query:参数,可通过this.$ route.query.obj获取
this.$ router.push({path:‘home',params:{obj:'…'}}) query:参数,可通过this.$route.params.obj获取
this.$router.replace() 此方法不会产生历史记录
this.$router.go(n) 向前或向后跳转n个页面总结总结总结
相关文章:
- js代码基于VSCode调试网页JavaScript代码过程详解
- jsvue中echarts图表大小适应窗口大小且不需要刷新案例js大全
- jsvue中移动端调取本地的复制的文本方式js大全
- js代码JavaScript中reduce()的5个基本用法示例
- jsJS中的变量作用域(console版)js大全
- js完美解决通过IP地址访问VUE项目的问题js大全
- js在Echarts图中给坐标轴加一个标识线markLinejs大全
- js使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法js大全
- jsmpvue 项目初始化及实现授权登录的实现方法js大全
- js一文读懂vue动态属性数据绑定(v-bind指令)js大全