Verzögertes Laden von Bildern in Vue

1. Installieren Sie das Vue-Lazyload-Plugin

npm install vue-lazyload --save-dev

2. Referenz in main.js

import VueLazyload from "vue-lazyload";
 
Vue.use(VueLazyload);

//或者自定义配置插件
Vue.use(VueLazyload, {
    
    
preLoad: 1.3,
error: require('../src/assets/image/error.png'),
loading: require('../src/assets/image/loading.gif'),
attempt: 1
})

Hinweis: Hier gibt es eine Gefahr. Wenn das Bild unter der Assets-Datei
platziert wird , sollte zum Importieren die oben beschriebene Schreibmethode „require('relative path‘)“ verwendet werden. Wenn das Bild unter der statischen Datei platziert wird , können Sie den Pfad zum Importieren direkt schreiben, wie unten gezeigt.

Importmethode für statische Dateibilder:

Vue.use(VueLazyload, {
    
    
preLoad: 1.3,
error: '../src/assets/image/error.png',
loading: '../src/assets/image/loading.gif',
attempt: 1
})

Die Bedeutung jeder benutzerdefinierten Konfigurationseigenschaft:

Taste Beschreibung Standard Optionen
Vorladen Höhenverhältnis der Vorspannung 1.3 Nummer
Fehler Quelle des Bildes bei Ladefehler (geben Sie das Bild bei Ladefehler an) 'data-src' Zeichenfolge
Wird geladen Quelle des Bildes beim Laden (Ladebild angeben) 'data-src' Zeichenfolge
versuchen Versuchen Sie es mit Zählen 3 Nummer
listenEvents das Ereignis, das Sie hören möchten ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'] Gewünschte Listen-Ereignisse
Adapter Elementattribute dynamisch ändern { } Elementadapter
Filter Bildüberwachung oder Filter { } Bild-Listener-Filter
lazyComponent Lazyload-Komponente FALSCH Faule Komponente
Versandereignis Dom-Ereignis auslösen FALSCH Boolescher Wert
GashebelWarten Gas geben, warten 200 Nummer
Beobachter Verwenden Sie IntersectionObserver FALSCH Boolescher Wert
Beobachteroptionen IntersectionObserver-Optionen { rootMargin: '0px', Schwellenwert: 0,1 } IntersectionObserver
still Drucken Sie keine Debug-Informationen aus WAHR Boolescher Wert

3. Verwenden (Bild als Lazy Loading festlegen)

<img v-lazy="psdimg" class="psd" />

Hinweis:
Wenn Sie auf eine V-for-Schleife stoßen oder ein IMG mit einem Div umschließen, müssen Sie v-lazy-container="{ selector: 'img' }" über dem Div hinzufügen

<div v-lazy-container="{ selector: 'img' }">
  <img data-src="//aaa.com/img1.jpg">
  <img data-src="//aaa.com/img2.jpg">
  <img data-src="//aaa.com/img3.jpg">  
</div>
  
<!--或者这种:-->
 
 <div v-lazy-container="{ selector: 'img' }" v-html="content">
</div>

Wenn dies der Fall ist, verwenden Sie unbedingt data-src anstelle von v-lazy, um den Pfad anzugeben. Denn wenn Sie v-lazy verwenden, können Sie die Bildadresse nach dem Abrufen nicht mehr anzeigen.

Ich denke du magst

Origin blog.csdn.net/jiangjunyuan168/article/details/124278948
Empfohlen
Rangfolge