Vue3中自定义指令,实现图片懒加载

图片懒加载

  //  自定义指令
    Vue.directive('lazy', {
      mounted (el, binding) {
        const observer = new IntersectionObserver(([{ isIntersecting }]) => {
          if (isIntersecting) {
            el.onerror = () => {
              el.src = defaultImg
            }
            el.src = binding.value
            //  不监听图片
            observer.unobserve(el)
          }
        }, {
          threshold: 0.01
        })
        // 监听
        observer.observe(el)
      }
    }


版权声明:本文为qq_52143560原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。