在组件中使用轮播图展示图片信息:
1.下载swiper,5版本为稳定版本
cnpm install swiper@5
2.在组件中引入swiper包和对应样式,若多组件使用swiper,可以把swiper引入到main.js入口文件中:
import 'swiper/css/swiper.css' //引入swiper样式
import Swiper from 'swiper'; //引入swiper
3.在组件中使用:
由于我的组件获取的图片信息由axios请求后端获得,所以要借助属性监听+$nextTick()共同实现轮播图:
<template><div class="list-container"><div class="sortList clearfix"><div class="center"><!--banner轮播--><div class="swiper-container" ref="mySwiper"><div class="swiper-wrapper"><divclass="swiper-slide"v-for="carousel in bannerList":key="carousel.id"><img :src="carousel.imgUrl" /></div></div><!-- 如果需要分页器 --><div class="swiper-pagination"></div><!-- 如果需要导航按钮 --><div class="swiper-button-prev"></div><div class="swiper-button-next"></div></div></div></div></div></div>
</template><script>import {mapState} from 'vuex'import Swiper from 'swiper';export default {name: 'ListContainer',mounted(){//在vuex仓库中把轮播图和banner图片取出来this.$store.dispatch('BannerList')},computed:{...mapState({bannerList:(state)=>state.home.bannerList})},watch:{bannerList:{handler(newValue,oldValue){this.$nextTick(()=>{var mySwiper=new Swiper(this.$refs.mySwiper,{//配置分页器内容loop: true, // 循环模式选项pagination:{el:".swiper-pagination",//换页器与哪个标签关联clickable:true//分页器是否可以点击},// 如果需要前进后退按钮navigation: {nextEl: '.swiper-button-next',prevEl: '.swiper-button-prev',},//如果需要滚动条scrollbar: {el: '.swiper-scrollbar',},})})}}}}</script><style lang="less" scoped>
</style>