swiper.vue 1.1 KB
<template>
	<div class="swiper-box" v-if="swipers  && swipers.length">
		<swipe class="swipe" :autoplay="5000" :show-indicators="swipers.showIndicators ? swipers.showIndicators : showIndicators" @change="onChange">
			<swipe-item class="swipe-item" v-for="(item, index) in swipers" :key="index">
				<div class="item" @click="$parent.$parent.gotoDetail(item)">
					<div class="img-box">
						<img v-lazy="item.simg + SIGN.BIG" class="img" mode="widthFix" />
					</div>
				</div>
			</swipe-item>
		</swipe>
	</div>
</template>

<script>

	// 引入组件
	// import { Swipe, SwipeItem } from 'mint-ui';
	import { Swipe, SwipeItem } from "vant";

	export default {
		data() {
			return {
				showIndicators: true
			}
		},
		props: ["swipers"],
		components: {
			Swipe,
            SwipeItem
		},
		methods: {
			/**
			 * 当swiper切换
			 * @param {int} index [切换swiper索引]
			 */
			onChange(index) {
				this.$emit("onChange", index);
			}
		}
	}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style rel="stylesheet/less" lang="less" scoped>
    @import './swiper';
</style>