VueAwesomeSwiper在VUE中的使用以及遇到的一些問題
Vue-Awesome-Swiper
輪播圖插件,可以同時(shí)支持Vue.js(1.X ~ 2.X),兼顧PC和移動端,隨著vue的廣泛使用,其中插件swiper也算是使用的比較頻繁的插件,現(xiàn)在分享一下使用方法以及開發(fā)中會遇到的一些問題。
我們先下載包,然后去main.js里面配置。
npm install vue-awesome-swiper --save
我們可以用import的方法
//import import Vue from 'vue' import VueAwesomeSwiper from 'vue-awesome-swiper'
也可以用require
var Vue = require('vue')
var VueAwesomeSwiper = require('vue-awesome-swiper')
兩者都可以達(dá)到目的,然后再mian.js里面全局注冊
Vue.use(VueAwesomeSwiper)
在模板里使用
import { swiper, swiperSlide } from 'vue-awesome-swiper'
export default {
components: {
swiper,
swiperSlide
}
}
<template>
<swiper :options="swiperOption" ref="mySwiper">
<!-- slides -->
<swiper-slide v-for="slide in swiperSlides" v-bind:style="{ 'background-image': 'url(' + slide + ')' }" :key="slide.id"></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>
</swiper>
</template>
<script>
import { swiper, swiperSlide } from 'vue-awesome-swiper'
export default {
name: 'carrousel',
components: {
swiper,
swiperSlide
},
data () {
return {
swiperOption: { //以下配置不懂的,可以去swiper官網(wǎng)看api,鏈接http://www.swiper.com.cn/api/
notNextTick: true, // notNextTick是一個(gè)組件自有屬性,如果notNextTick設(shè)置為true,組件則不會通過NextTick來實(shí)例化swiper,也就意味著你可以在第一時(shí)間獲取到swiper對象,假如你需要剛加載遍使用獲取swiper對象來做什么事,那么這個(gè)屬性一定要是true
autoplay: true,
loop: true,
direction: 'horizontal',
grabCursor: true,
setWrapperSize: true,
autoHeight: true,
pagination: {
el: '.swiper-pagination'
},
centeredSlides: true,
paginationClickable: true,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev'
},
keyboard: true,
mousewheelControl: true,
observeParents: true, // 如果自行設(shè)計(jì)了插件,那么插件的一些配置相關(guān)參數(shù),也應(yīng)該出現(xiàn)在這個(gè)對象中,如下debugger
debugger: true
},
swiperSlides: ['../../static/img/swiper1.jpg', '../../static/img/swiper2.jpg', '../../static/img/swiper3.jpg', '../../static/img/swiper4.jpg']
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>
html, body, #app {
height: 100%;
width: 100%;
}
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
height: 100vh;
}
.swiper-pagination-bullet {
width: 15px;
height: 15px;
}
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets {
bottom: 8%;
}
</style>
這樣就可以正常使用了,但是以下是一些開發(fā)中遇到的一些問題。
很多人在引入swiper的時(shí)候會出現(xiàn)小點(diǎn)swiper-pagination出不來或者一些配置屬性沒有生效。原因是現(xiàn)在最新的swiper版本已經(jīng)開始區(qū)分組件和普通版本了。
在低版本swiper中,我們可以這么寫(我相信大部分童鞋百度,論壇到的使用方法大多是這樣子的)
<script>
// swiper options example:
export default {
name: 'carrousel',
data() {
return {
swiperOption:
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,
debugger: true,
}
}
},
}
</script>
注意?。。?!
這其中的autoplay和pagination和prevButton和nextButton等屬性,在低版本中是允許這么使用的,并且可以功能正常生效,但是再高版本swiper中這樣寫不會生效,并且vue不會報(bào)錯。
接下來我們看官網(wǎng)api,拿分頁器pagination舉個(gè)栗子:

在以前低版本的swiper是沒有這樣子的區(qū)分的!所以現(xiàn)在我們可以看看最新版本的swiper分頁器的具體文檔:

圖中標(biāo)記的部分很明顯已經(jīng)不同于低版本的swiper的使用方法。
還有一些區(qū)別官網(wǎng)的api已經(jīng)寫的很清楚了,感興趣的小伙伴可以自行在官網(wǎng)api中閱讀查看噢!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue Treeselect下拉樹只能選擇第N級元素實(shí)現(xiàn)代碼
這篇文章主要介紹了vue Treeselect下拉樹只能選擇第N級元素實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Vue項(xiàng)目中ESLint配置超全指南(VScode)
ESLint是一個(gè)代碼檢查工具,用來檢查你的代碼是否符合指定的規(guī)范,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中ESLint配置(VScode)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
56個(gè)實(shí)用的JavaScript 工具函數(shù)助你提升開發(fā)效率
今天來看看JavaScript中的一些實(shí)用的工具函數(shù),希望能幫助你提高開發(fā)效率!需要的朋友可以參考下面文章的具體內(nèi)容2021-10-10
Vue?和?Django?實(shí)現(xiàn)?Token?身份驗(yàn)證的流程
這篇文章主要介紹了Vue?和?Django?實(shí)現(xiàn)?Token?身份驗(yàn)證?,Vue.js?和?Django?編寫的前后端項(xiàng)目中,實(shí)現(xiàn)了基于?Token?的身份驗(yàn)證機(jī)制,其他前后端框架的?Token?實(shí)現(xiàn)原理與本文一致,需要的朋友可以參考下2022-08-08
解決vue2.0路由跳轉(zhuǎn)未匹配相應(yīng)用路由避免出現(xiàn)空白頁面的問題
今天小編就為大家分享一篇解決vue2.0路由跳轉(zhuǎn)未匹配相應(yīng)用路由避免出現(xiàn)空白頁面的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

