我是靠谱客的博主 安静巨人,最近开发中收集的这篇文章主要介绍在vue3中封装自己的图片懒加载函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实现效果

export const lazyImgs = (img: any) => {
  // --
  const fn = (entry: any) => {
    entry.forEach((imgs: any) => {
      if (imgs.isIntersecting) {
        imgs.target.children[0].src = imgs.target.dataset.src;
        IO.unobserve(imgs.target.children[0]);
      }
    });
  };
  const IO = new IntersectionObserver(fn, {});
  Array.from(img.value.children).forEach((element: any) => {
    IO.observe(element);
  });
};

 代码--使用在vant组件上,需要ref需要绑定父元素

 <div class="imgs" ref="img">
        <van-image
          v-for="(imgs, index) in item.coverUrl"
          :key="index"
          src="'imgs1'"
          :data-src="imgs"
          lazy-load
        >
        </van-image>
      </div>

 使用

// 获DOM
const img = ref();
onMounted(() => {
  // 调用
  lazyImgs(img);
});

有待完善,类型直接设置为any,需要花时间慢慢完善,目前只是初步实现效果

最后

以上就是安静巨人为你收集整理的在vue3中封装自己的图片懒加载函数的全部内容,希望文章能够帮你解决在vue3中封装自己的图片懒加载函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部