1. 程式人生 > >Ajax配合vue+element打造個人專屬loading

Ajax配合vue+element打造個人專屬loading

inf 做了 ade 產生 ESS 做成 允許 不用 時間

最近有使用到element組件中的loading,主要是處理後臺傳輸數據太大,頁面這邊較長時間處於一個白屏,這裏使用了一個loading組件,來進行一個優化,當然這只是視覺層面的一個簡單優化,如果不用loading條,用資源懶加載的方式或許更好,這邊回歸正題,因為我這邊是想做成進度條由0加載到100,而elemen的loading組件我看了下給的示例裏面只允許加入text,icon,達不到我想要的效果,這邊我自己做了一個簡單的示例。

技術分享圖片

這樣看起來效果是不是更好,那麽如何獲取到後臺傳輸的一個進度值呢?下面貼一下我的代碼

技術分享圖片

ajax的原理就是通過XmlHttpRequest對象向服務器發送異步請求,從服務器獲取數據後,通過javascript進行DOM操作

這裏就是先獲取到jQuery產生的 XMLHttpRequest對象,為其增加 progress 事件綁定,然後再返回交給ajax使用,通過xhr對象的loaded和total屬性就可以獲取到進度啦!大功告成

當然我這邊是直接使用的element的progress組件,你也可以自定義,甚至可以加一些動畫顯得更牛逼。

Ajax配合vue+element打造個人專屬loading