vueプロジェクトで画像の怠惰なロードを実現する方法
3474 ワード
画像が多すぎるページでは、ページのロード速度を速めるために、ページ内に表示されていない画像をロードせずに、表示領域にスクロールしてからロードする必要がある場合が多い.これにより、ページのロード性能が大幅に向上し、ユーザー体験も向上します.
実装方法(vueのvue-lazyloadプラグインを使用)
1.プラグインのインストール
画像の怠惰なロードの簡単な効果はすでに実現して、それからこの開発ドキュメントのapiによって拡張することができます:
key
description
default
options
Desired Listen Events
{ rootMargin: '0px', threshold: 0.1 }
IntersectionObserver
これで、簡単な画像の怠け者のロードが完了しました......
転載先:https://www.cnblogs.com/xieli26/p/10057763.html
実装方法(vueのvue-lazyloadプラグインを使用)
1.プラグインのインストール
npm install vue-lazyload --save-dev
2.エントリファイルmain.jsに導入して使用import VueLazyload from 'vue-lazyload'
直接使用Vue.use(VueLazyload)
またはカスタムオプションを追加Vue.use(VueLazyload, {
preLoad: 1.3,
error: 'dist/error.png',
loading: 'dist/loading.gif',
attempt: 1
})
3.画像の表示方式を怠惰なロードに変更する(src属性を直接v-lazyに変更する)<a href="javascript:;"><img v-lazy="'/static/img/' + item.productImage">a>
パラメータオプションの説明画像の怠惰なロードの簡単な効果はすでに実現して、それからこの開発ドキュメントのapiによって拡張することができます:
key
description
default
options
preLoad
proportion of pre-loading height(プリロード高さスケール)1.3
Number
error
src of the image upon load fail(ピクチャパスエラー時にピクチャをロード)'data-src'
String
loading
src of the image while loading(プリロードピクチャ)'data-src'
String
attempt
attempts count(ピクチャ数をロードしようとする)3
Number
listenEvents
events that you want vue listen for(傍受したいvueイベント)デフォルト['scroll']は省略できますが、プラグインがページ内のアニメーションや遷移などのイベントと競合している場合は、他のオプションを試してみてください.['scroll'( ),
'wheel',
'mousewheel',
'resize',
'animationend',
'transitionend',
'touchmove']
Desired Listen Events
adapter
dynamically modify the attribute of element(要素プロパティを動的に変更){ }
Element Adapter filter
the image's listener filter(ピクチャアドレスパスを動的に変更){ }
Image listener filter lazyComponent
lazyload component false
Lazy Component dispatchEvent
trigger the dom event false
Boolean
throttleWait
throttle wait 200
Number
observer
use IntersectionObserver false
Boolean
observerOptions
IntersectionObserver options { rootMargin: '0px', threshold: 0.1 }
IntersectionObserver
これで、簡単な画像の怠け者のロードが完了しました......
転載先:https://www.cnblogs.com/xieli26/p/10057763.html