Vue2图片懒加载(vue-lazyload)

简介: 这篇文章介绍了如何在Vue 2项目中使用`vue-lazyload`插件来实现图片的懒加载功能,包括安装插件、注册配置以及在页面中的具体使用方法。

参考文档:vue-lazyload

安装插件

npm install vue-lazyload
# or
yarn add vue-lazyload
# or
pnpm add vue-lazyload

使用

使用方式 一:

所有懒加载图片的占位图使用同一张默认图片

  1. 引入并注册
// main.js
import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload) // 注册方式一,使用默认配置
Vue.use( // 注册方式二,自定义配置相关图片和监听方法类型
  VueLazyload,
  {
    preLoad: 1.3, // 默认 1.3
    error: require('./assets/images/default.png'),
    loading: require('./assets/images/default.png'), // ../dist/default.png
    attempt: 1, // 默认 3
    // the default is ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend']
    listenEvents: ['scroll']
  }
)
  1. 在页面中使用
  • img 标签中使用懒加载,将 src 替换为 v-lazy,需要动态切换图片时,务必添加 key 属性
<img v-lazy="src" :key="src" class="u-img" />
  • background 背景图中使用懒加载,v-lazy:background-image
<div v-lazy:background-image="src" :key="src" class="u-bg"></div>

使用方式 二:

不同页面的懒加载使用不同的默认图

  1. 引入并注册
// main.js
import VueLazyLoad from 'vue-lazyload'
Vue.use(VueLazyLoad, {
  preLoad: 1.3,
  attempt: 1
})
  1. 在页面中使用
  • img 标签中使用懒加载,同时自定义默认图
<img v-lazy="getDefault(src)" :key="src" :alt="title" class="u-img"/>
getDefault (src) {
  return {
    src: src,
      error: require('../assets/images/defaultNews.png'),
      loading: require('../assets/images/defaultNews.png')
  }
}
  • background 背景图中使用懒加载,同时自定义默认图
<a v-lazy:background-image="getDefault(src)" :key="src" class="u-img"></a>
// 自定义使用的默认图
getDefault (src) {
  return {
    src: src,
    error: require('../assets/images/defaultLogo.png'),
    loading: require('../assets/images/defaultLogo.png') // 指定相应要使用的默认图
  }
}
  • 默认图使用网络图片 https
<img v-lazy="imgObj"/>
<div v-lazy:background-image="imgObj"></div>
imgObj: {
  src: 'http://xx.com/logo.png',
  error: 'http://xx.com/error.png',
  loading: 'http://xx.com/loading-spin.svg'
}
相关文章
|
4月前
|
JavaScript
vue 异步加载组件
vue 异步加载组件
36 3
|
4月前
Vue3只渲染一次 v-once
Vue3只渲染一次 v-once
|
4月前
|
JavaScript
Vue 只渲染一次 v-once
Vue 只渲染一次 v-once
|
11月前
【Vue3】 vue3图片懒加载-封装自定义指令
【Vue3】 vue3图片懒加载-封装自定义指令
106 0
|
11月前
|
前端开发 JavaScript API
【Vue3】组件数据懒加载
【Vue3】组件数据懒加载
123 0
|
19天前
|
JavaScript API 容器
Vue3加载条(LoadingBar)
这是一个基于 Vue 的加载条组件,提供了丰富的自定义选项和方法。通过简单的 API,可以控制加载条的开始、结束及错误状态。支持设置容器类名、样式、颜色等属性,并可通过 `start`、`finish` 和 `error` 方法来触发不同状态。
Vue3加载条(LoadingBar)
|
19天前
|
JavaScript
Vue3代码展示(vue-codemirror)
`vue-codemirror`插件为Vue应用提供了一个强大的代码编辑器组件,支持代码高亮、自定义样式、暗黑模式等特性。通过简单的配置即可实现丰富的代码编辑体验。安装依赖后,创建`CodeMirror.vue`组件并在目标页面中使用即可。
177 1
Vue3代码展示(vue-codemirror)
|
3月前
Vue3——tdesign-vue-next如何按需加载动态渲染ICON
如题,在vue3中进行按需加载来动态的渲染icon图标;
33 1
|
2月前
|
JavaScript
【vue】图片懒加载 vue-lazyload 使用
【vue】图片懒加载 vue-lazyload 使用
123 0
|
4月前
|
移动开发 JavaScript 前端开发
vue简单的图片预览
vue简单的图片预览
117 0