vue-gallery-slideshow

Lightweight and responsive image gallery for Vue.js.
51,621 165
Install
npm install vue-gallery-slideshow
Latest Version:1.5.2
Vue:2
License:MIT
Last Updated:Aug 25, 2020
Links: GitHub  ·  npm
Maintainer: headione

npm

vue-gallery-slideshow

Lightweight and responsive image gallery for Vue.js.

Live Demo

https://jsfiddle.net/headione/szk73x45/show/

Installation

By CDN
<script src="https://unpkg.com/vue-gallery-slideshow"></script>
By package manager
npm install vue-gallery-slideshow
yarn add vue-gallery-slideshow

Usage

HTML
<div id="app">
  <img class="image" v-for="(image, i) in images" :src="https://raw.githubusercontent.com/KitchenStories/vue-gallery-slideshow/HEAD/image" :key="i" @click="index = i">
  <vue-gallery-slideshow :images="images" :index="index" @close="index = null"></vue-gallery-slideshow>
</div>
JavaScript
import VueGallerySlideshow from 'vue-gallery-slideshow';

const app = new Vue({
  el: '#app',
  components: {
    VueGallerySlideshow
  },
  data: {
    images: [
      'https://placekitten.com/801/800',
      'https://placekitten.com/802/800',
      'https://placekitten.com/803/800',
      'https://placekitten.com/804/800',
      'https://placekitten.com/805/800',
      'https://placekitten.com/806/800',
      'https://placekitten.com/807/800',
      'https://placekitten.com/808/800',
      'https://placekitten.com/809/800',
      'https://placekitten.com/810/800'
    ],
    index: null
  }
});

Options

Adding alt text

If you want to add alt tags to the images, you can do by wrapping it in an object and adding an alt property:

images: [
   { url: 'https://placem.at/places?w=800&h=600&random=1', alt:'My alt text' },
   ...
]

Usage with Nuxt.js

When used with server-side rendering frameworks like Nuxt.js, please wrap the component in a <client-only> element like shown below:

...
<img class="image" v-for="(image, i) in images" :src="https://raw.githubusercontent.com/KitchenStories/vue-gallery-slideshow/HEAD/image" :key="i" @click="index = i">
<client-only placeholder="Loading...">
  <vgs :images="images" :index="index" @close="index = null" />
</client-only>
...

Contributing

Please refer to each project's style guidelines and guidelines for submitting patches and additions. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your machine
  3. Commit changes to your branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

Author

Norman Sander

License

vue-gallery-slideshow is available under the MIT license. See the LICENSE file for more info.

Related Packages

vue-gallery

VueJS responsive and customizable image and video gallery, carousel and lightbox...

162,508 469
embla-carousel-aria

An accessibility plugin for Embla Carousel

29,236 14
embla-carousel

A lightweight carousel library with fluid motion and great swipe precision

1,138,077,498 8,453
embla-carousel-reactive-utils

Reactive utilities for Embla Carousel

1,100,861,544 8,453

Version History

Version Released License
1.5.2 MIT
1.5.0 MIT
1.4.2 MIT
1.4.1 MIT
1.4.0 MIT