Vue項目頁面跳轉時,窗口上方顯示進度條


在vue項目中,為了減少首屏加載的時間,通常會開啟路由的懶加載。路由懶加載配合gizp確實能幫助我們大大的加快首屏的加載時間。

然而,路由懶加載會使得我們在第一次打開一個新頁面的時候,會有一個加載時間。如果在這個時候我們沒有一個提示的話,給人的感覺會是好像我點了頁面跳轉但是沒反應。所以,這個時候我們可以加一個進度條來告知用戶。

具體實現,我們使用NProgress這個滾動條效果插件。

1.安裝:

cnpm install --save nprogress

2.在main.js中引入:

1 import NProgress from 'nprogress'
2 import 'nprogress/nprogress.css'

3.在main.js中進行配置:

復制代碼
1 NProgress.configure({     
2     easing: 'ease',  // 動畫方式    
3     speed: 500,  // 遞增進度條的速度    
4     showSpinner: false, // 是否顯示加載ico    
5     trickleSpeed: 200, // 自動遞增間隔    
6     minimum: 0.3 // 初始化時的最小百分比
7 })
復制代碼

4.在main.js中對路由鈎子進行設置:

 router.beforeEach((to, from , next) => {
     // 每次切換頁面時,調用進度條
    NProgress.start();
    // 若加載時間長且不定,擔心進度條走完都沒有加載完,可以調用
  NProgress.inc();//這會以隨機數量遞增,且永遠達不到100%,也可以設指定增量
next(); }); //當路由進入后:關閉進度條 router.afterEach(() => { // 在即將進入新的頁面組件前,關閉掉進度條 NProgress.done() })


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM