Vue Slick Carousel

1.0.6 · abandoned · verified Sun Apr 19

Vue Slick Carousel is a Vue.js component that provides fully-featured carousel and slider functionality, serving as a Vue port of the popular `react-slick` library. It was specifically developed with a focus on robust Server-Side Rendering (SSR) support, making it suitable for applications built with frameworks like Nuxt.js, and was initially designed for the Luxstay platform. The current stable version is 1.0.6, released in July 2020. The project has not seen any significant updates since this time, indicating it is no longer actively maintained. Its primary differentiators were its strong SSR capabilities and its direct adaptation of the `react-slick` API and features within the Vue ecosystem, aiming to offer a seamless experience for developers familiar with Slick Carousel.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to import, register, and use the `VueSlickCarousel` component in a Vue 2 application with responsive settings and basic styling.

import Vue from 'vue';
import VueSlickCarousel from 'vue-slick-carousel';
import 'vue-slick-carousel/dist/vue-slick-carousel.css';
import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css';

new Vue({
  el: '#app',
  components: { VueSlickCarousel },
  template: `
    <div id="app">
      <h1>My Featured Products</h1>
      <VueSlickCarousel v-bind="settings">
        <div><img src="https://via.placeholder.com/300x200?text=Product+1" alt="Product 1"><h3>Item 1</h3></div>
        <div><img src="https://via.placeholder.com/300x200?text=Product+2" alt="Product 2"><h3>Item 2</h3></div>
        <div><img src="https://via.placeholder.com/300x200?text=Product+3" alt="Product 3"><h3>Item 3</h3></div>
        <div><img src="https://via.placeholder.com/300x200?text=Product+4" alt="Product 4"><h3>Item 4</h3></div>
        <div><img src="https://via.placeholder.com/300x200?text=Product+5" alt="Product 5"><h3>Item 5</h3></div>
      </VueSlickCarousel>
    </div>
  `,
  data() {
    return {
      settings: {
        dots: true,
        infinite: true,
        speed: 500,
        slidesToShow: 3,
        slidesToScroll: 1,
        autoplay: true,
        autoplaySpeed: 3000,
        responsive: [
          {
            breakpoint: 1024,
            settings: {
              slidesToShow: 2,
              slidesToScroll: 1
            }
          },
          {
            breakpoint: 600,
            settings: {
              slidesToShow: 1,
              slidesToScroll: 1
            }
          }
        ]
      }
    };
  }
});

view raw JSON →