-
-
Notifications
You must be signed in to change notification settings - Fork 77
/
BasicExample.vue
66 lines (56 loc) · 1.43 KB
/
BasicExample.vue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<template>
<div class="wrapper">
<h2 id="basic-example-heading">Basic</h2>
<Splide
aria-labelledby="basic-example-heading"
v-if="enabled"
:options="options"
@splide:mounted="onSplideMounted"
@splide:move="onSplideMove"
>
<SplideSlide v-for="slide in slides" :key="slide.alt">
<img :src="slide.src" :alt="slide.alt">
</SplideSlide>
</Splide>
<button @click="enabled = ! enabled">
{{ enabled ? 'Hide Slider' : 'Show Slider' }}
</button>
</div>
</template>
<script lang="ts">
import { Splide as Core } from '@splidejs/splide';
import { Splide, SplideSlide } from '@splidejs/vue-splide'
import { defineComponent, ref } from 'vue';
import { generateSlides } from '../utils';
export default defineComponent( {
name: 'BasicExample',
components: {
Splide,
SplideSlide,
},
setup() {
const slides = generateSlides();
const options = {
rewind : true,
perPage: 2,
gap : '1rem',
height : '15rem',
breakpoints: {
1000: {
perPage: 1,
},
},
};
const enabled = ref<boolean>( true );
const onSplideMounted = ( splide: Core ) => console.log( splide.length );
const onSplideMove = ( splide: Core, index: number ) => console.log( 'move to', index );
return {
slides,
options,
onSplideMounted,
onSplideMove,
enabled,
}
},
} );
</script>