做爲一個Vuer,vue-awesome-swiper
組件在開發中是常用的,因此我的覺的是有必要詳細瞭解一下它的用法的。他能夠做輪播圖,能夠做滾動。css
咱們這裏做一個單獨的組件,這樣不會污染項目中的文件,這個只是一個最簡單默認的swiper,咱們在components目錄下新建一個文件夾swiper
,而後新建一個swiperDefault.vue
文件。寫入以下代碼:vue
<template> <div > <swiper> <swiper-slide class="swiper-slide" v-for="(item, index) in slide" :key="index"> Slide {{item}} </swiper-slide> </swiper> </div> </template> <script> import 'swiper/dist/css/swiper.css' import { swiper, swiperSlide } from 'vue-awesome-swiper' export default { data() { return { slide: [1,2,3,4,5,6] } }, components:{swiper,swiperSlide} } </script> <style scoped> .swiper-slide{ height: 4rem; text-align: center; padding-top: 3rem; border-bottom: 1px solid #ccc; } </style>
代碼寫好後,在shoppingMall.vue
文件裏進行引入使用。ide
import swiperDefault from '../swiper/swiperDefault'
而後註冊組件,其實上節課的代碼也是能夠封裝成一個component的。spa
components:{swiper,swiperSlide,swiperDefault},
註冊好後,直接在template
裏使用就能夠了.code
<swiperDefault></swiperDefault>
做這類輪播圖效果,如今主流的都是添加上分頁器的,就是下方的小圓點,配置這些就須要在swiper
標籤上使用options屬性來進行配置了。
咱們如今data裏進行配置,代碼以下:component
swiperOption:{ pagination:{ el:'.swiper-pagination' } }
而後在template
標籤里加入一個div
用於顯示分頁器,注意的是要在swiper-slide
外層。blog
<div class="swiper-pagination" slot="pagination"></div>
最後是在swiper
標籤里加入 :options="swiperOption"
。就實現了有分頁期的效果。
總體代碼以下:ip
<template> <div > <swiper :options="swiperOption"> <swiper-slide class="swiper-slide" v-for="(item, index) in slide" :key="index"> Slide {{item}} </swiper-slide> <div class="swiper-pagination" slot="pagination"></div> </swiper> </div> </template> <script> import 'swiper/dist/css/swiper.css' import { swiper, swiperSlide } from 'vue-awesome-swiper' export default { data() { return { slide: [1,2,3,4,5,6], swiperOption:{ pagination:{ el:'.swiper-pagination' } } } }, components:{swiper,swiperSlide} } </script> <style scoped> .swiper-slide{ height: 4rem; text-align: center; padding-top: 3rem; border-bottom: 1px solid #ccc; } </style>
在配置項裏直接配置direction
就能夠了,配置豎屏代碼以下。開發
swiperOption:{ direction:'vertical', pagination:{ el:'.swiper-pagination' } }
總體代碼以下rem
<template> <div > <swiper class="swiper" :options="swiperOption"> <swiper-slide class="swiper-slide" v-for="(item, index) in slide" :key="index"> Slide {{item}} </swiper-slide> <div class="swiper-pagination" slot="pagination"></div> </swiper> </div> </template> <script> import 'swiper/dist/css/swiper.css' import { swiper, swiperSlide } from 'vue-awesome-swiper' export default { data() { return { slide: [1,2,3,4,5,6], swiperOption:{ direction:'vertical', pagination:{ el:'.swiper-pagination' } } } }, components:{swiper,swiperSlide} } </script> <style scoped> .swiper-slide{ height: 4rem; text-align: center; line-height: 4rem; } .swiper{ height: 7rem; border-top:1px solid #ccc; border-bottom:1px solid #ccc; } </style>