sh-v-owl-carousel
Version:
VueJS wrapper for Owl Carousel with rtl support
484 lines (141 loc) • 3.7 kB
Markdown
[](https://www.npmjs.com/package/sh-v-owl-carousel)
---
## Intro
- The [VueJS](https://vuejs.org/) wrapper for [Owl Carousel](https://owlcarousel2.github.io/OwlCarousel2/).
- [Owl Carousel](https://owlcarousel2.github.io/OwlCarousel2/) is touch enabled jQuery plugin that lets you create a beautiful responsive carousel slider.
## Installation
`npm i sh-v-owl-carousel` or `yarn add sh-v-owl-carousel`
## Usage
`import carousel from 'sh-v-owl-carousel'`
```
<carousel>
<img src="https://placeimg.com/200/200/any?1">
<img src="https://placeimg.com/200/200/any?2">
<img src="https://placeimg.com/200/200/any?3">
<img src="https://placeimg.com/200/200/any?4">
</carousel>
```
Set options,
```
<carousel :autoplay="true" :nav="false">
//
//
</carousel>
```
Set events,
```
<carousel @change="doSomething">
//
//
</carousel>
```
## Usage in Nuxt.js
`npm i sh-v-owl-carousel`
Then in your plugins/ directory, create a new file owl.js:
```javascript
import Vue from 'vue'
import OwlCarousel from 'sh-v-owl-carousel'
Vue.component('carousel', OwlCarousel)
```
Then in nuxt.config.js:
```javascript
plugins: [
{src: 'plugins/owl.js', ssr: false} // Only works on client side
], ...
```
And finally in the page or component:
```html
<no-ssr> <!-- important to add no-ssr-->
<carousel :options>
...content
</carousel>
</no-ssr>
```
## Available options
Currently following options are available.
##### *(More to come)*
- ### items
type : `number`
default : `3`
The number of items you want to see on the screen.
- ### margin
type : `number`
default : `0`
Margin-right (px) on item.
- ### loop
type : `boolean`
default : `false`
Infinity loop. Duplicate last and first items to get loop illusion.
- #### center
Type: `Boolean`
Default: `false`
Center item. Works well with even an odd number of items.
- #### nav
Type: `Boolean`
Default: `false`
Show next/prev buttons.
- #### autoplay
Type: `Boolean`
Default: `false`
Autoplay.
- #### autoplaySpeed
Type: `Number/Boolean`
Default: `false`
Autoplay speed.
- #### rewind
Type: `Boolean`
Default: `true`
Go backwards when the boundary has reached.
- #### mouseDrag
Type: `Boolean`
Default: `true`
Mouse drag enabled.
- #### touchDrag
Type: `Boolean`
Default: `true`
Touch drag enabled.
- #### pullDrag
Type: `Boolean`
Default: `true`
Stage pull to edge.
- #### freeDrag
Type: `Boolean`
Default: `false`
Item pull to edge.
- #### stagePadding
Type: `Number`
Default: `0`
Padding left and right on stage (can see neighbours).
- #### autoWidth
Type: `Boolean`
Default: `false`
Set non grid content. Try using width style on divs.
- #### autoHeight
Type: `Boolean`
Default: `false`
Set non grid content. Try using height style on divs.
- #### dots
Type: `Boolean`
Default: `true`
Show dots navigation.
- #### autoplayTimeout
Type: `Number`
Default: `5000`
Autoplay interval timeout.
- #### autoplayHoverPause
Type: `Boolean`
Default: `false`
Pause on mouse hover.
- #### rtl
Type: `Boolean`
Default: `false`
Set rtl direction.
- #### responsive
Type: `Object`
Default: `{}`
Example : `:responsive="{0:{items:1,nav:false},600:{items:3,nav:true}}"`
Object containing responsive options. Can be set to false to remove responsive capabilities.
## Events
- ### change
Emitter: carousel
Description: Emits when carousel has changed (changed.owl.carousel)