一、通过脚手架初始化项目
1.下载项目
npm create vue@3
大约 8 分钟
npm create vue@3
npm install -g @vue/cli
/**
* v-lazy
* 图片懒加载
*/
const copy: Directive = {
mounted(el: HTMLImageElement) {
const imgSrc = el.src
el.src = ''
const observer = new IntersectionObserver(([{ isIntersecting }]) => {
// 元素出现在可视区域和离开可视区域触发
if (isIntersecting) {
// 加载图片
el.src = imgSrc
// 停止观察
observer.unobserve(el)
}
})
observer.observe(el)
},
}
export default copy