Flickity for Vue.js 3

npm npm npm

A Vue 3 Component for Flickity.js – See a live demo here.

Flickity Vue.js

Vue support

Supports only Vue >= 3

Installation and usage

See official documentation here.

$ npm i @toneflix-code/flickity-vue

import { createApp } from "vue";
import App from "./App.vue";

import flickity from "@toneflix-code/flickity-vue";

createApp(App).use(flickity).mount("#app");

new Vue({
  components: {
    FlickityMain,
    FlickityCell,
  },

  data() {
    return {
      flickityOptions: {
        initialIndex: 3,
        prevNextButtons: false,
        pageDots: false,
        wrapAround: true,

        // any options from Flickity can be used
      },
    };
  },
});

<flickity ref="flickity" :options="flickityOptions">
  <flickity-cell>1</flickity-cell>
  <flickity-cell>2</flickity-cell>
  <flickity-cell>3</flickity-cell>
  <flickity-cell>4</flickity-cell>
  <flickity-cell>5</flickity-cell>
</flickity>

<!-- if you don't want to use the buttons Flickity provides -->
<button @click="$refs.flickity.previous()">Custom Previous Button</button>
<button @click="$refs.flickity.next()">Custom Next Button</button>

Configuring with props

Any options from Flickity can be passed a props

<flickity
  ref="flickity"
  prev-next-buttons
  page-dots
  wrap-around
  :initial-index="3"
>
  <flickity-cell>1</flickity-cell>
  <flickity-cell>2</flickity-cell>
  <flickity-cell>3</flickity-cell>
  <flickity-cell>4</flickity-cell>
  <flickity-cell>5</flickity-cell>
</flickity>

GitHub

View Github