国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue輪播圖插件vue-awesome-swiper

2019-11-19 14:51:53
字體:
來源:轉載
供稿:網友

Vue-Awesome-Swiper

輪播圖插件,可以同時支持Vue.js(1.X ~ 2.X),兼顧PC和移動端,SPA和SSR。

例子

例子

安裝設置

安裝Install vue-awesome-swiper

npm install vue-awesome-swiper --save

vue掛載

// importimport Vue from 'vue'import VueAwesomeSwiper from 'vue-awesome-swiper'// or requirevar Vue = require('vue')var VueAwesomeSwiper = require('vue-awesome-swiper')// mount with globalVue.use(VueAwesomeSwiper)// If used in Nuxt.js/SSR, you should keep it only in browser build environment// The `Process. BROWSER_BUILD` itself is just a feature, it is only valid in Nuxt.js, you need to modify it according to your own procedures, such as: in vue official ssr scaffolding it should be` process.browser`if (process.BROWSER_BUILD) { const VueAwesomeSwiper = require('vue-awesome-swiper/ssr') Vue.use(VueAwesomeSwiper)}// mount with component(can't work in Nuxt.js/SSR)import { swiper, swiperSlide } from 'vue-awesome-swiper'export default { components: {  swiper,  swiperSlide }}

SPA與SSR中使用方法的區別

SPA通過組件作用,需要借助ref屬性查找swiper實例
SSR通過命令作用,需要借助命令參數查找swiper實例
其他配置和事件一致

SSR中的應用

<!-- You can custom the "mySwiper" name used to find the swiper instance in current component --><template> <div v-swiper:mySwiper="swiperOption">  <div class="swiper-wrapper">   <div class="swiper-slide" v-for="banner in banners">    <img :src="banner">   </div>  </div>  <div class="swiper-pagination swiper-pagination-bullets"></div> </div></template><script> export default {  data () {   return {    banners: [ '/1.jpg', '/2.jpg', '/3.jpg' ],    swiperOption: {     autoplay: 5000,     initialSlide: 1,     loop: true,     pagination: '.swiper-pagination',     onSlideChangeEnd: swiper => {      console.log('onSlideChangeEnd', swiper.realIndex)     }    }   }  },  mounted() {   console.log('app init')   setTimeout(() => {    this.banners.push('/5.jpg')    console.log('banners update')   }, 3000)   console.log(    'This is current swiper instance object', this.mySwiper,     'It will slideTo banners 3')   this.mySwiper.slideTo(3)  } }</script>

SPA中的應用

<!-- The ref attr used to find the swiper instance --><template> <swiper :options="swiperOption" ref="mySwiper">  <!-- slides -->  <swiper-slide>I'm Slide 1</swiper-slide>  <swiper-slide>I'm Slide 2</swiper-slide>  <swiper-slide>I'm Slide 3</swiper-slide>  <swiper-slide>I'm Slide 4</swiper-slide>  <swiper-slide>I'm Slide 5</swiper-slide>  <swiper-slide>I'm Slide 6</swiper-slide>  <swiper-slide>I'm Slide 7</swiper-slide>  <!-- Optional controls -->  <div class="swiper-pagination" slot="pagination"></div>  <div class="swiper-button-prev" slot="button-prev"></div>  <div class="swiper-button-next" slot="button-next"></div>  <div class="swiper-scrollbar"  slot="scrollbar"></div> </swiper></template><script> // swiper options example: export default {  name: 'carrousel',  data() {   return {    swiperOption: {     // NotNextTick is a component's own property, and if notNextTick is set to true, the component will not instantiate the swiper through NextTick, which means you can get the swiper object the first time (if you need to use the get swiper object to do what Things, then this property must be true)     // notNextTick是一個組件自有屬性,如果notNextTick設置為true,組件則不會通過NextTick來實例化swiper,也就意味著你可以在第一時間獲取到swiper對象,假如你需要剛加載遍使用獲取swiper對象來做什么事,那么這個屬性一定要是true     notNextTick: true,     // swiper configs 所有的配置同swiper官方api配置     autoplay: 3000,     direction : 'vertical',     grabCursor : true,     setWrapperSize :true,     autoHeight: true,     pagination : '.swiper-pagination',     paginationClickable :true,     prevButton:'.swiper-button-prev',     nextButton:'.swiper-button-next',     scrollbar:'.swiper-scrollbar',     mousewheelControl : true,     observeParents:true,     // if you need use plugins in the swiper, you can config in here like this     // 如果自行設計了插件,那么插件的一些配置相關參數,也應該出現在這個對象中,如下debugger     debugger: true,     // swiper callbacks     // swiper的各種回調函數也可以出現在這個對象中,和swiper官方一樣     onTransitionStart(swiper){      console.log(swiper)     },     // more Swiper configs and callbacks...     // ...    }   }  },  // you can find current swiper instance object like this, while the notNextTick property value must be true  // 如果你需要得到當前的swiper對象來做一些事情,你可以像下面這樣定義一個方法屬性來獲取當前的swiper對象,同時notNextTick必須為true  computed: {   swiper() {    return this.$refs.mySwiper.swiper   }  },  mounted() {   // you can use current swiper instance object to do something(swiper methods)   // 然后你就可以使用當前上下文內的swiper對象去做你想做的事了   console.log('this is current swiper instance object', this.swiper)   this.swiper.slideTo(3, 1000, false)  } }</script>

異步數據例子

<template> <swiper :options="swiperOption">  <swiper-slide v-for="slide in swiperSlides">I'm Slide {{ slide }}</swiper-slide>  <div class="swiper-pagination" slot="pagination"></div> </swiper></template><script> export default {  name: 'carrousel',  data() {   return {    swiperOption: {     autoplay: 3500,     setWrapperSize :true,     pagination : '.swiper-pagination',     paginationClickable :true,     mousewheelControl : true,     observeParents:true,    },    swiperSlides: [1, 2, 3, 4, 5]   }  },  mounted() {   setInterval(() => {    console.log('simulate async data')    let swiperSlides = this.swiperSlides    if (swiperSlides.length < 10) swiperSlides.push(swiperSlides.length + 1)   }, 3000)  } }</script>

移動端例子的代碼

例子

SSR例子的代碼

例子

API

參考官網: http://www.swiper.com.cn/api/index.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄄城县| 连城县| 五河县| 隆昌县| 天气| 宣武区| 康定县| 霍邱县| 府谷县| 宁安市| 上蔡县| 册亨县| 美姑县| 德江县| 枝江市| 获嘉县| 济宁市| 阿合奇县| 海宁市| 广宗县| 永胜县| 潞城市| 修文县| 安图县| 通辽市| 阳江市| 巴楚县| 元阳县| 石门县| 杭州市| 利辛县| 沈丘县| 普兰店市| 南皮县| 东兰县| 枞阳县| 金堂县| 手机| 时尚| 贡觉县| 万载县|