vue路由加載頁(yè)面時(shí),數(shù)據(jù)返回慢的問題

2019-6-19    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

場(chǎng)景:

vue路由加載頁(yè)面時(shí),數(shù)據(jù)返回慢的時(shí)候頁(yè)面會(huì)有閃動(dòng)的效果,數(shù)據(jù)加載前和加載后的區(qū)別。(特別是el-table表格數(shù)據(jù))

思路:

路由前加載數(shù)據(jù),等數(shù)據(jù)加載完再路由渲染頁(yè)面

解決方案:

使用vue-router的 路由守衛(wèi) beforeRouteEnter,組件內(nèi)直接定義以下路由導(dǎo)航守衛(wèi),和鉤子函數(shù)的寫法一樣,下面列出三種路由守衛(wèi):

 beforeRouteEnter(to,from,next)0{
        // 在渲染該組件的對(duì)應(yīng)路由被 confirm 前調(diào)用// 不!能!獲取組件實(shí)例 `this`
        // 因?yàn)楫?dāng)守衛(wèi)執(zhí)行前,組件實(shí)例還沒被創(chuàng)建
    } 復(fù)制代碼
 beforeRouteUpdate(to,from,next){
        // 在當(dāng)前路由改變,但是該組件被復(fù)用時(shí)調(diào)用
        // 舉例來(lái)說,對(duì)于一個(gè)帶有動(dòng)態(tài)參數(shù)的路徑 /foo/:id,在 /foo/1 和 /foo/2 之間跳轉(zhuǎn)的時(shí)候,
        // 由于會(huì)渲染同樣的 Foo 組件,因此組件實(shí)例會(huì)被復(fù)用。而這個(gè)鉤子就會(huì)在這個(gè)情況下被調(diào)用。
        // 可以訪問組件實(shí)例 `this`
    } 復(fù)制代碼
 beforeRouteLeave(to,from,next){
        // 導(dǎo)航離開該組件的對(duì)應(yīng)路由時(shí)調(diào)用// 可以訪問組件實(shí)例 `this`
    } 復(fù)制代碼

vue-router詳細(xì),具體訪問:導(dǎo)航守衛(wèi) 數(shù)據(jù)獲取

藍(lán)藍(lán)設(shè)計(jì)www.bouu.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)。


分享本文至:

日歷

鏈接

個(gè)人資料

存檔