鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ 請(qǐng)教,vue SPA網(wǎng)站如何實(shí)現(xiàn)全局頁(yè)面加載進(jìn)度條?

請(qǐng)教,vue SPA網(wǎng)站如何實(shí)現(xiàn)全局頁(yè)面加載進(jìn)度條?

首先說(shuō)明一下想實(shí)現(xiàn)的效果。
只需要在main.js或者App.vue中實(shí)現(xiàn),不用每個(gè)子組件都添加頁(yè)面加載完成的代碼。加載進(jìn)度條到100%的時(shí)候,一定是數(shù)據(jù)加載渲染完成后。
現(xiàn)在主要難點(diǎn)是:如何在main.js、App.vue中獲知子組件數(shù)據(jù)請(qǐng)求渲染完成。

傳統(tǒng)的網(wǎng)站,DOMContentLoaded和onload可以分別得知,dom加載解析完成和所有的文件下載完成。從而很容易模擬一個(gè)頁(yè)面加載進(jìn)度條。
但是SPA網(wǎng)站加載過(guò)程從 第一次進(jìn)入頁(yè)面:DOMContentLoaded,onload,ajax請(qǐng)求數(shù)據(jù),渲染數(shù)據(jù)。路由切換:ajax請(qǐng)求數(shù)據(jù)、渲染數(shù)據(jù)。
求高手解答?;蛘咭黄鹩懻撓乱残小2幌朐诿總€(gè)頁(yè)面都要添加一個(gè)loaded的代碼。很麻煩。

回答
編輯回答
胭脂淚

在vue-router導(dǎo)航守衛(wèi)里做(頁(yè)面切換loading)
https://router.vuejs.org/zh/g...

在axios攔截器里做(只要發(fā)送請(qǐng)求就會(huì)出現(xiàn)loading,成功失敗錯(cuò)誤loading消失)

axios攔截器配置的其他類似
https://github.com/axios/axios

2017年3月12日 23:57