實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的實(shí)例代碼-創(chuàng)新互聯(lián)

這篇文章主要講解了實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的實(shí)例代碼,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

成都創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,達(dá)州托管服務(wù)器,達(dá)州托管服務(wù)器,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。

在項(xiàng)目中如果有大量的圖片需要加載的時(shí)候,就可以考慮使用懶加載了,懶加載其實(shí)就是監(jiān)聽瀏覽器的滾動(dòng),當(dāng)滾動(dòng)到一定的范圍的時(shí)候就將圖片的真實(shí)路徑賦給src,然后取消監(jiān)聽。實(shí)現(xiàn)的方法也比較簡單,可以通過懶加載的插件實(shí)現(xiàn),也可以手寫,手寫通過vue自定義指令來實(shí)現(xiàn),一般情況自定義指令用的也不多,比較vue自帶的就夠用了,大型復(fù)雜的項(xiàng)目的可能用的多。

什么是圖片懶加載

當(dāng)我們向下滾動(dòng)的時(shí)候圖片資源才被請求到,這也就是我們本次要實(shí)現(xiàn)的效果,進(jìn)入頁面的時(shí)候,只請求可視區(qū)域的圖片資源這也就是懶加載。

比如我們加載一個(gè)頁面,這個(gè)頁面很長很長,長到我們的瀏覽器可視區(qū)域裝不下,那么懶加載就是優(yōu)先加載可視區(qū)域的內(nèi)容,其他部分等進(jìn)入了可視區(qū)域在加載。

這個(gè)功能非常常見,你打開淘寶的首頁,向下滾動(dòng),就會(huì)看到會(huì)有圖片不斷的加載;你在百度中搜索圖片,結(jié)果肯定成千上萬條,不可能所有的都一下子加載出來的,很重要的原因就是會(huì)有性能問題。你可以在Network中查看,在頁面滾動(dòng)的時(shí)候,會(huì)看到圖片一張張加載出來。

實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的實(shí)例代碼

為什么要做圖片懶加載

懶加載是一種網(wǎng)頁性能優(yōu)化的方式,它能極大的提升用戶體驗(yàn)。就比如說圖片,圖片一直是影響網(wǎng)頁性能的主要元兇,現(xiàn)在一張圖片超過幾兆已經(jīng)是很經(jīng)常的事了。如果每次進(jìn)入頁面就請求所有的圖片資源,那么可能等圖片加載出來用戶也早就走了。所以,我們需要懶加載,進(jìn)入頁面的時(shí)候,只請求可視區(qū)域的圖片資源。

總結(jié)出來就兩個(gè)點(diǎn):

1.全部加載的話會(huì)影響用戶體驗(yàn)

2.浪費(fèi)用戶的流量,有些用戶并不像全部看完,全部加載會(huì)耗費(fèi)大量流量。

懶加載原理

圖片的標(biāo)簽是 img標(biāo)簽,圖片的來源主要是 src屬性,瀏覽器是否發(fā)起加載圖片的請求是根據(jù)是否有src屬性決定的。

所以可以從 img標(biāo)簽的 src屬性入手,在沒進(jìn)到可視區(qū)域的時(shí)候,就先不給 img 標(biāo)簽的 src屬性賦值。

懶加載實(shí)現(xiàn)

實(shí)現(xiàn)效果圖:

實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的實(shí)例代碼

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
 <style>
  div {
   display: flex;
   flex-direction: column;
  }
  img {
   width: 100%;
   height: 300px;
  }
 </style>
</head>
<body>
 <div>
  <img data-src="https://cdn.suisuijiang.com/ImageMessage/5adad39555703565e79040fa_1590657907683.jpeg">
  <img data-src="https://cdn.suisuijiang.com/ImageMessage/5adad39555703565e79040fa_1590657913523.jpeg">
  <img data-src="https://cdn.suisuijiang.com/ImageMessage/5adad39555703565e79040fa_1590657925550.jpeg">
  <img data-src="https://cdn.suisuijiang.com/ImageMessage/5adad39555703565e79040fa_1590657930289.jpeg">
  <img data-src="https://cdn.suisuijiang.com/ImageMessage/5adad39555703565e79040fa_1590657934750.jpeg">
  <img data-src="https://cdn.suisuijiang.com/ImageMessage/5adad39555703565e79040fa_1590657918315.jpeg">
 </div>
</body>
</html>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁題目:實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的實(shí)例代碼-創(chuàng)新互聯(lián)
路徑分享:http://bm7419.com/article44/gegee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、定制開發(fā)標(biāo)簽優(yōu)化、網(wǎng)頁設(shè)計(jì)公司網(wǎng)站維護(hù)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)