vue如何写一个渐进式图片组件?
网友回复
可以使用Vue.js和Intersection Observer API来实现延迟加载图片,以提高页面性能。以下是一个简单的示例:
<template> <div> <img ref="image" :src="placeholder" alt="Placeholder Image" @load="onImageLoad" /> </div> </template> <script> export default { props: { src: { type: String, required: true, // 图片的真实来源 }, placeholder: { type: String, required: true, // 占位图片,可以是模糊或低分辨率的图像 }, }, data() { return { imageLoaded: false, }; }, methods: { onImageLoad() { this.imageLoaded = true; }, }, mounted() { const options = { root: null, // 使用viewport作为根元素...
点击查看剩余70%