Vue-Lazyload

See demo: hilongjw. Making. IO/vue – lazyloa…

Vue module for lazyloading images in your applications. Some of goals of this project worth noting include:

  • Be lightweight, powerful and easy to use
  • Work on any image type
  • Add loading class while image is loading
  • Supports both of Vue 1.0 and Vue 2.0

Install

From npm:

$ npm install vue-lazyload --save
Copy the code

API

Instance Methods

Arguments:

  • {string} event
  • {Function} callback

vm.$Lazyload.$once(event, callback)

Listen for a custom event, but only once. The listener will be removed once it triggers for the first time.

Example

vm.$Lazyload.$once('loaded', function ({ el, src }) {
  console.log(el, src)
})Copy the code

Arguments:

  • {string} event
  • {Function} callback

Desired Listen Events

You can configure which events you want vue-lazyload by passing in an array of listener names.

Vue.use(VueLazyload, {preLoad: 1.3, error: 'dist/error. PNG ', loading: 'dist/loading. GIF ', attempt: 1, // the default is ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend'] listenEvents: [ 'scroll' ] })Copy the code

This is useful if you are having trouble with this plugin resetting itself to loading when you have certain animations and transitions taking place

Element Adapter

Vue.use(vueLazy, {preLoad: 1.3, error: 'dist/404. PNG ', loading: 'dist/ loading-spin-. SVG ', adapter: { loaded ({ bindType, el, naturalHeight, naturalWidth, $parent, src, loading, error, Init }) { // do something here console.log('loaded') }, loading (listender, Init) { console.log('loading') }, error (listender, Init) { console.log('error') } } })Copy the code

License

The MIT License