@volleytravel/vue-img-lazy

1.0.0 • Public • Published

@volleytravel/vue-img-lazy

A Vue.JS component for lazy loading images as they come into view on the page. Uses vanilla-lazyload under the hood.

Usage

You use <img-lazy> anywhere you'd ordinarily use <img>, with the same attributes you'd ordinarily use, and let the component take care of the rest!

For example, using it in a Vue SFC.

<script>
import ImgLazy from '@volleytravel/vue-img-lazy';
import '@volleytravel/vue-img-lazy/dist/imgLazy.css'

export default {
  name: 'ExampleComponent',
  components: {
    ImgLazy,
  },
};
</script>

<template>
  <div>
    <!-- Simplest usage -->
    <img-lazy src="/images/kittens.jpg" />
    
    <!-- Any attributes you'd ordinarily use on <img> will work too -->
    <img-lazy
      src="/images/kittens.jpg"
      srcset="/images/kittens.jpg, /images/kittens@2x.jpg 2x"
      alt="So. Many. Kittens!"
    />
    
    <img-lazy
      src="/images/kittens.jpg"
      crossorigin="anonymous"
    />
  </div>
</template>

If you'd prefer to globally register it for use anywhere in your app, just add this in your entry point (main.js):

import Vue from 'vue';
import ImgLazy from '@volleytravel/vue-img-lazy';
import '@volleytravel/vue-img-lazy/dist/imgLazy.css'

Vue.component('img-lazy', ImgLazy);

In either case, remember to import the CSS! Without it, things will still work, but you may notice images taking up no space, then expanding to fit when they load (yuck!). The CSS simply applies visibility: hidden while the image has not yet triggered the lazy load.

Bugs / Feedback / Contributing

Open a Github issue or send us a pull request.

If you do submit a pull request, you agree to license your code under the same terms that are found in this repo's LICENSE file (it's super-common MIT license).

Readme

Keywords

none

Package Sidebar

Install

npm i @volleytravel/vue-img-lazy

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

370 kB

Total Files

18

Last publish

Collaborators

  • simoleone