<template>
<view>
<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" circular="true" indicator-color="#fff"
indicator-active-color="red" @tap="itemClick">
<swiper-item class="swiper-item" v-for="item in itemList" :key="item" v-bind:id="item">
<view class="swiper-item">{{item}}</view>
</swiper-item>
</swiper>
</view>
</template>
<script>
export default {
props: {
itemList: {
type: Array,
required: true
}
},
data() {
return {
indicatorDots: false,
autoplay: true,
interval: 5000,
duration: 1000
}
},
methods: {
itemClick: function(e) {
console.log(e);
this.$emit("itemClick", "item");
}
}
}
</script>
<style>
.swiper-item {
display: block;
height: 300upx;
line-height: 300upx;
text-align: center;
background: #eee;
}
</style>
上述能够响应点击事件,但是无法获取点了哪个,能否在<view class="swiper-item">{{item}}</view>里面进行点击处理,添加了但是没响应!!!
5 个回复
Neil_HL
我在页面里和组件里直接监听点击是可以的,你把完整demo上传附件我们看看
5***@qq.com (作者)
附件demo上传了,谢谢
Neil_HL
我试了你的代码,在swiper-img的swiper上添加是没问题的,你是什么环境测试的?
5***@qq.com (作者)
swiper上是能够监听@tap事件的,但是swiper-item标签里面的组件不行
2018-10-23 19:47
2***@qq.com
回复 5***@qq.com: 不行的话,怎么处理swiper-item里面的点击事件
2019-12-02 01:50
s***@126.com - 程序猿
没下文了?
s***@163.com
下文呢?????