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'
}
相关文章
uniapp如何安装vant
uniapp如何安装vant
1183 1
|
9月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
10544 46
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
JavaScript
vue2路由懒加载解决import引入报错问题
本文介绍了在Vue2项目中实现路由懒加载的方法,并解决了使用import语句进行懒加载时报错的问题。通过安装`babel-plugin-syntax-dynamic-import`插件并在项目的`.bablerc`文件中配置,可以成功实现路由组件的按需加载。同时,文章还提到了使用`webpackChunkName`为懒加载的组件指定单独的chunk名称,以避免所有组件被打包到同一个js文件中。
1161 4
|
资源调度 JavaScript 前端开发
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
这篇文章介绍了在Vue 2项目中如何通过`v-viewer`插件实现图片的预览、切换、缩放、旋转等功能,并提供了插件的安装、配置和使用方法。
5022 0
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
|
缓存 JavaScript 前端开发
Vue项目卡顿慢加载?这些优化技巧告诉你!(一)
Vue项目卡顿慢加载?这些优化技巧告诉你!
5915 0
|
前端开发 JavaScript
Vue2瀑布流图片展示(Waterfall)
这篇文章介绍了如何在Vue 3框架中实现瀑布流图片展示组件,提供了两种实现方式:一种使用CSS的`column-count`和`column-gap`属性,另一种使用JavaScript计算图片位置,以实现图片在多列中的动态分布。
1044 2
Vue2瀑布流图片展示(Waterfall)
|
JavaScript
Vue3搜索框(InputSearch)
这篇文章介绍了如何在Vue 3中创建一个具有搜索、清除、加载状态等多功能的搜索框组件(InputSearch),并提供了组件的配置选项、事件处理和使用示例。
1541 6
Vue3搜索框(InputSearch)
|
JavaScript Windows
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 1x.x
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 1x.x
792 0
|
移动开发 开发框架 JavaScript
在UniApp的H5项目中,生成二维码和扫描二维码的操作处理
在UniApp的H5项目中,生成二维码和扫描二维码的操作处理

热门文章

最新文章