摘要:近期在做一個(gè)微信公眾號的項(xiàng)目,在頁面跳轉(zhuǎn)時(shí)發(fā)現(xiàn)頁面會(huì)閃一下,用戶體驗(yàn)很不好,而且如果網(wǎng)慢時(shí)頁面是沒有數(shù)據(jù)的樣式會(huì)亂很丑。唯一的缺點(diǎn)就是在運(yùn)行沒問題,但是會(huì)有時(shí)關(guān)不上效果一直處于狀態(tài)而且很頻繁,剛開始我以為是網(wǎng)絡(luò)的問題,后臺(tái)切換到還是不行。
近期在做一個(gè)微信公眾號的項(xiàng)目,在頁面跳轉(zhuǎn)時(shí)發(fā)現(xiàn)頁面會(huì)閃一下,用戶體驗(yàn)很不好,而且如果網(wǎng)慢時(shí)頁面是沒有數(shù)據(jù)的樣式會(huì)亂很丑。于是乎,就百度看了前人的各種解決方案,個(gè)人覺得以下鏈接中的方案還是很好的,代碼簡潔,效果也很滿意,不需要每個(gè)頁面做相對應(yīng)的操作只需要在router.js文件中添加幾行代碼即可。
https://www.jb51.net/article/...
唯一的缺點(diǎn)就是在Android運(yùn)行沒問題,但是ios會(huì)有時(shí)關(guān)不上loading效果一直處于loading狀態(tài)(而且很頻繁),剛開始我以為是網(wǎng)絡(luò)的問題,后臺(tái)切換到4G還是不行。我就各種調(diào)試,后來發(fā)現(xiàn)加上一個(gè)setTimeout便完美的解決了問題,代碼如下:
import Vue from "vue" import Router from "vue-router" //loading組件 import {Indicator} from "mint-ui"; Vue.use(Router) let spinRoute = { show() {//加載中顯示loading組件 Indicator.open({spinnerType: "fading-circle"});//開啟loading組件,這里我用的mint-ui }, resolve(resolve) {//加載完成隱藏loading組件 return component=>{ setTimeout(()=>{ Indicator.close()//關(guān)閉loading組件 resolve(component); }, 10) } } } export default new Router({ mode: "hash", base: process.env.BASE_URL, routes: [ { path: "/home", name: "home", component: resolve => { spinRoute.show();//加載時(shí)開啟loading require(["./views/Home.vue"], spinRoute.resolve(resolve))//路由懶加載 }, meta: { title: "首頁" }, }, { path: "/QRcode", name: "QRcode", component: resolve => { spinRoute.show(); require(["./views/QRcode.vue"], spinRoute.resolve(resolve)) }, meta: { title: "游戲推廣" } }, { path: "/NotAgent", name: "NotAgent", component: resolve => { spinRoute.show(); require(["./views/NotAgent.vue"], spinRoute.resolve(resolve)) }, meta: { title: "友情提示" } }, {path:"*",redirect:"/home"} ] })
最后,感謝以上鏈接中的大牛給到大家的解決方案.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/99297.html
摘要:但是同時(shí),抽離到父模塊,也意味著如果有一個(gè)懶加載的路由沒有用到模塊,但是實(shí)際上引入了父模塊,也為這也引入了的代碼。 前言 我們清楚,在 webpack 中通過CommonsChunkPlugin 可以將 entry 的入口文件中引用多次的文件抽離打包成一個(gè)公用文件,從而減少代碼重復(fù)冗余 entry: { main: ./src/main.js, ...
摘要:凡是做的項(xiàng)目,特別是移動(dòng)端的項(xiàng)目,首屏加載速度必定是一個(gè)繞不過去的話題。大家知道這些依賴庫的文件都會(huì)被一起打包到那個(gè)文件里面,如果這些你的第三方依賴庫很多,很大的話,那就會(huì)導(dǎo)致這個(gè)文件很大,那首屏加載的速度肯定會(huì)被拖慢。 凡是做SPA的項(xiàng)目,特別是移動(dòng)端的SAP項(xiàng)目,首屏加載速度必定是一個(gè)繞不過去的話題。接下來我就我們項(xiàng)目里的一些實(shí)踐來做一下總結(jié)。希望拋磚引玉,如果各位有更好的方案,不...
摘要:載入前后在階段,實(shí)例的和都初始化了,但還是掛載之前為虛擬的節(jié)點(diǎn),還未替換。類似于,不同在于提交的是,而不是直接變更狀態(tài)可以包含任意異步操作。 vue基礎(chǔ) 1、 router 路由與 a 標(biāo)簽的區(qū)別:https://www.jianshu.com/p/34b...2、 VUE雙向綁定的原理: 答:VUE實(shí)現(xiàn)雙向數(shù)據(jù)綁定的原理就是利用了 Object.defineProperty() 這個(gè)...
摘要:載入前后在階段,實(shí)例的和都初始化了,但還是掛載之前為虛擬的節(jié)點(diǎn),還未替換。類似于,不同在于提交的是,而不是直接變更狀態(tài)可以包含任意異步操作。 vue基礎(chǔ) 1、 router 路由與 a 標(biāo)簽的區(qū)別:https://www.jianshu.com/p/34b...2、 VUE雙向綁定的原理: 答:VUE實(shí)現(xiàn)雙向數(shù)據(jù)綁定的原理就是利用了 Object.defineProperty() 這個(gè)...
摘要:現(xiàn)在,我們將更深入地研究,并學(xué)習(xí)用于分割應(yīng)用程序最實(shí)用的模式。本系列文章基于對性能優(yōu)化過程的學(xué)習(xí)。路徑時(shí)才被下載。為了便于理解,文件名稱并不是由生成的真實(shí)名稱。接下來,我們將學(xué)習(xí)其他部分和單獨(dú)的組件也能夠從主文件分割出來并延遲加載。 在前一篇文章中,我們學(xué)習(xí)了什么是代碼分割,它是如何與 Webpack 一起工作的,以及如何在Vue應(yīng)用程序中使用延遲加載。現(xiàn)在,我們將更深入地研究,并學(xué)習(xí)...
閱讀 1354·2019-08-30 15:44
閱讀 2098·2019-08-30 11:04
閱讀 517·2019-08-29 15:17
閱讀 2539·2019-08-26 12:12
閱讀 3131·2019-08-23 18:09
閱讀 920·2019-08-23 15:37
閱讀 1521·2019-08-23 14:43
閱讀 2920·2019-08-23 13:13