在vue-cli如何使用swiper插件和解决动态传值问题

1,基础swiper轮播示例

第一步 安装swiper插件,这里采用npm安装 更多安装方式可去swiper官方网站查询

$ npm install swiper

第二步 完成安装后再页面中引入(不要忘了引入swiper.css样式,swiper.min.css文件可以放在assets文件夹)

在main.js页面中加入以下代码

import Swiper from 'swiper'  //插件

import'./assets/css/swiper.min.css' //css样式

第三步 html结构

<template>
	<div id="banner" >
		<div class="swiper-container"  >
			<div class="swiper-wrapper" >

				<div class="swiper-slide" v-for="(item,index) in bannerlist">
                    <img   :src="item.img" />
                </div>
				
			</div>

			<div class="swiper-pagination"></div>
		</div>

	</div>

</template>


<script>
export default {

		name: 'banner',

		data() {
			return {
				bannerlist:[{
						"img": require('./../assets/img/xxx.jpg')
					},
					{
						"img": require('./../assets/img/xxx.jpg')
					},
					{
						"img": require('./../assets/img/xxx.jpg')
					},
					{
						"img": require('./../assets/img/xxx.jpg')
					},
				],
			}
		},

		methods: {

		},
		components: {

			
		},
		mounted: function() {
          //配置Swiper  建议关于Swiper配置方面可以前往Swiper官网
          new Swiper('.swiper-container', {
		pagination: {
			el: '.swiper-pagination',
		},
		
		loop: true,
		autoplay: {
			delay: 4000,
			stopOnLastSlide: false,
			disableOnInteraction: false,
		},

      })
		}
	}
</script>

完成以上步骤你的轮播图应该就能自动轮播了

2,关于动态请求轮播图数据,轮播图组件不能滑动问题

先写一个动态请求数据的轮播图示例(偷点懒)


<script>
export default {

		name: 'banner',

		data() {
			return {
				bannerlist:[],
			}
		},

		methods: {

		},
		components: {

			
		},
		mounted: function() {
          //配置Swiper  建议关于Swiper配置方面可以前往Swiper官网
          new Swiper('.swiper-container', {
		pagination: {
			el: '.swiper-pagination',
		},
		
		loop: true,
		autoplay: {
			delay: 4000,
			stopOnLastSlide: false,
			disableOnInteraction: false,
		},

         observer:true,//很重要

      })

       //这里采用axios请求  axios请求需要安装插件
             
            var _this = this
			  _this.axios({
				method: 'get',
				url: '轮播图接口'
			}).then(function(res) {         				
				_this.bannerlist=res.data.data	//请求出来的轮播图数据	
			}).catch(function(err) {
				console.log(err)
			})

		}
	}
</script>

以上是轮播图动态获取数据

关于轮播图动态获取数据出现swiper轮播图不能正常滑动而图片能正常显示问题,

这是因为swiper绑定的数据bannerlist初始是为空的,所以页面初始化时swiper会认为所需要的滑动个数为0(不知道这样说正确不),即便后来的请求加入数据但swiper的滑动是没有变的,所以就会出现明明有图片却不能滑动问题。

解决办法 在swiper配置中加上  observer:true, 这样就能解决不能完全正确滑动问题

关于 observer:true详情前往swiper官网

猜你喜欢

转载自blog.csdn.net/i_coffer/article/details/81330919