UNPKG

vue-concise-slider

Version:

vue-slider,A simple sliding component,has easy configuration,support self-adaption / fullscreen / button / page,and is compatible with mobile and PC terminal

168 lines (151 loc) 3.82 kB
## vue-concise-slider > 一个简单的Vue滑动组件 ## 它是什么 vue-concise-slider是一个简单的Vue滑动组件,配置简单,支持自适应/全屏,按钮,分页,兼容移动端和PC端 查看 [快速开始](#安装) 了解详情 ## 特点 * 简单配置 * 轻量 (~36kB) * 多种滑动样式 ## 安装 ```html npm install vue-concise-slider --save ``` ## 快速开始 ```html <template> <!-- 制作一个框架包裹slider --> <div style="width:70%;margin:20px auto;height:400px"> <!-- 配置slider组件 --> <slider ref="slider" :options="options" @slide='slide' @tap='onTap' @init='onInit'> <!-- 直接使用slideritem slot --> <slideritem v-for="(item,index) in someList" :key="index" :style="item.style">{{item.html}}</slideritem> <!-- 设置loading,可自定义 --> <div slot="loading">loading...</div> </slider> </div> </template> <script> import { slider, slideritem } from 'vue-concise-slider'// import slider components export default { el: '#app', data () { return { //Image list someList:[], //Sliding configuration [obj] options: { currentPage: 0, thresholdDistance:500, thresholdTime:100, autoplay:1000, loop:true, direction:'vertical', loopedSlides:1, slidesToScroll:1, timingFunction: 'ease', speed: 300 } } }, components: { slider, slideritem }, mounted () { let that = this setTimeout(function () { that.someList = [ { html: 'slide1', style: { 'background': '#1bbc9b' } }, { html: 'slide2', style: { 'background': '#4bbfc3' } }, { html: 'slide3', style: { 'background': '#7baabe' } } ] }, 2000) }, methods: { // Listener event slide (data) { console.log(data) }, onTap (data) { console.log(data) }, onInit (data) { console.log(data) } } } </script> ``` ## 有更好的想法? 欢迎来留下你的意见:https://github.com/warpcgd/vue-concise-slider/issues/1 ## BUG?oh no! 可以在这里提交,会尽快处理:https://github.com/warpcgd/vue-concise-slider/issues/2 <script v-pre type="text/x-template" id="example"> <template> <slider :pages="pages" :options="options"> <!-- slot --> </slider> </template> <script> // import slider from 'vue-concise-slider' import slider from 'module.js' // export default module.exports = { components: { slider }, data () { return { //image list pages:[ { html: 'slide1', style:{ 'background': '#1bbc9b' } }, { html: 'slide2', style:{ background:'#4bbfc3' } }, { html: 'slide3', style:{ background:'#333' }, } ], //Sliding configuration options: { currentPage: 0, thresholdDistance: 100, thresholdTime: 300, loop:true, loopedSlides:1, slidesToScroll:1, direction:'horizontal', autoplay:0 } } } } </script> </script>