vue.jsでlazyload
vue.jsでlazyload:
メモ
カスタムディレクティブでlazyloadの処理を定義する
以下を参考に
https://jp.vuejs.org/v2/cookbook/creating-custom-scroll-directives.html
imgタグに設定する
メモ
カスタムディレクティブでlazyloadの処理を定義する
以下を参考に
https://jp.vuejs.org/v2/cookbook/creating-custom-scroll-directives.html
import Vue from 'vue' Vue.directive('lazyload', { inserted: function (el, binding) { let f = function (evt) { if (window.scrollY + window.innerHeight > el.offsetTop) { el.setAttribute('src', binding.value) window.removeEventListener('scroll', f) } } window.addEventListener('scroll', f) f() } })
<template> <div> <template v-for="src in imageList"> <img src="~/assets/images/loading.gif" v-lazyload="src" > </template> </div> </template>
コメント
コメントを投稿