Vue項(xiàng)目頁面跳轉(zhuǎn)時(shí)瀏覽器窗口上方顯示進(jìn)度條功能
在vue項(xiàng)目中,為了減少首屏加載的時(shí)間,通常會(huì)開啟路由的懶加載。路由懶加載配合gizp確實(shí)能幫助我們大大的加快首屏的加載時(shí)間。
然而,路由懶加載會(huì)使得我們?cè)诘谝淮未蜷_一個(gè)新頁面的時(shí)候,會(huì)有一個(gè)加載時(shí)間。如果在這個(gè)時(shí)候我們沒有一個(gè)提示的話,給人的感覺會(huì)是好像我點(diǎn)了頁面跳轉(zhuǎn)但是沒反應(yīng)。所以,這個(gè)時(shí)候我們可以加一個(gè)進(jìn)度條來告知用戶。
具體實(shí)現(xiàn),我們使用NProgress這個(gè)滾動(dòng)條效果插件。
1.安裝:
cnpm install --save nprogress
2.在main.js中引入:
import NProgress from 'nprogress' import 'nprogress/nprogress.css'
3.在main.js中進(jìn)行配置:
NProgress.configure({
easing: 'ease', // 動(dòng)畫方式
speed: 500, // 遞增進(jìn)度條的速度
showSpinner: false, // 是否顯示加載ico
trickleSpeed: 200, // 自動(dòng)遞增間隔
minimum: 0.3 // 初始化時(shí)的最小百分比
})
4.在main.js中對(duì)路由鉤子進(jìn)行設(shè)置:
//當(dāng)路由進(jìn)入前
router.beforeEach((to, from , next) => {
// 每次切換頁面時(shí),調(diào)用進(jìn)度條
NProgress.start();
// 若加載時(shí)間長(zhǎng)且不定,擔(dān)心進(jìn)度條走完都沒有加載完,可以調(diào)用
NProgress.inc();//這會(huì)以隨機(jī)數(shù)量遞增,且永遠(yuǎn)達(dá)不到100%,也可以設(shè)指定增量
next();
});
//當(dāng)路由進(jìn)入后:關(guān)閉進(jìn)度條
router.afterEach(() => {
// 在即將進(jìn)入新的頁面組件前,關(guān)閉掉進(jìn)度條
NProgress.done()
})
補(bǔ)充:vue頁面跳轉(zhuǎn)方法
vue2.0在使用的過程中, .vue文件之間的跳轉(zhuǎn),需要在router里面配置path,通過路徑跳轉(zhuǎn),html文件跳轉(zhuǎn)如下:
<router-link to="/path"><button>跳轉(zhuǎn)</button></router-link>
但是有時(shí)的需求是頁面不直接跳轉(zhuǎn),有確認(rèn)彈框或者其他事件,此時(shí)就需要在js中設(shè)置跳轉(zhuǎn),方法如下:
this.$ router.push({path: ‘/…'}); path為跳轉(zhuǎn)路徑,此方法會(huì)產(chǎn)生歷史記錄
this.$ router.push({name:'…'}) name也可以作為路由跳轉(zhuǎn)
this.$ router.push({path:‘home',query:{obj:'…'}}) query:參數(shù),可通過this.$ route.query.obj獲取
this.$ router.push({path:‘home',params:{obj:'…'}}) query:參數(shù),可通過this.$route.params.obj獲取
this.$router.replace() 此方法不會(huì)產(chǎn)生歷史記錄
this.$router.go(n) 向前或向后跳轉(zhuǎn)n個(gè)頁面
總結(jié)
到此這篇關(guān)于Vue項(xiàng)目頁面跳轉(zhuǎn)時(shí)瀏覽器窗口上方顯示進(jìn)度條功能的文章就介紹到這了,更多相關(guān)vue 頁面跳轉(zhuǎn)進(jìn)度條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue中nprogress頁面加載進(jìn)度條的方法實(shí)現(xiàn)
- vue使用nprogress加載路由進(jìn)度條的方法
- vue.js+ElementUI實(shí)現(xiàn)進(jìn)度條提示密碼強(qiáng)度效果
- vue頁面加載時(shí)的進(jìn)度條功能(實(shí)例代碼)
- vue2.0+SVG實(shí)現(xiàn)音樂播放圓形進(jìn)度條組件
- vue配置nprogress實(shí)現(xiàn)頁面頂部進(jìn)度條
- Vue使用NProgress進(jìn)度條的方法
- vue開發(fā)拖拽進(jìn)度條滑動(dòng)組件
- vue2.0實(shí)現(xiàn)音樂/視頻播放進(jìn)度條組件
- Vue實(shí)現(xiàn)圓環(huán)進(jìn)度條的示例
相關(guān)文章
使用Vue自定義指令實(shí)現(xiàn)Select組件
這篇文章主要介紹了使用Vue自定義指令實(shí)現(xiàn)Select組件,如果哪位朋友對(duì)vue自定義指令不是多了解的話,此篇文章會(huì)對(duì)你有所幫助的,需要的朋友可以參考下2018-05-05
vue 修改 data 數(shù)據(jù)問題并實(shí)時(shí)顯示的方法
今天小編就為大家分享一篇vue 修改 data 數(shù)據(jù)問題并實(shí)時(shí)顯示的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
一篇看懂vuejs的狀態(tài)管理神器 vuex狀態(tài)管理模式
一篇看懂vuejs的狀態(tài)管理神器,Vuex一個(gè)專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
vue+elementUI實(shí)現(xiàn)動(dòng)態(tài)面包屑
這篇文章主要為大家詳細(xì)介紹了vue+elementUI實(shí)現(xiàn)動(dòng)態(tài)面包屑,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
Vue實(shí)現(xiàn)訂單支付倒計(jì)時(shí)功能
這篇文章主要給大家介紹了Vue實(shí)現(xiàn)訂單支付倒計(jì)時(shí)功能,倒計(jì)時(shí)這要運(yùn)用在創(chuàng)建訂單后15分鐘內(nèi)進(jìn)行支付,否則訂單取消,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下2023-08-08
Vue自定義指令實(shí)現(xiàn)彈窗拖拽四邊拉伸及對(duì)角線拉伸效果
小編最近在做一個(gè)vue前端項(xiàng)目,需要實(shí)現(xiàn)彈窗的拖拽,四邊拉伸及對(duì)角線拉伸,以及彈窗邊界處理功能,本文通過實(shí)例代碼給大家分享我的實(shí)現(xiàn)過程及遇到問題解決方法,感興趣的朋友一起看看吧2021-08-08

