apiready = function() {
new Vue({
el:'',
data(){
return{
}
},
methods:{
initSwiper() {
var that = this;
fnAjax(false, 'hoplan/gethotplanlist', {}, 'application/json', 'post', false, function(ret, err) {
that.lunbo = ret.data.homefocusList; //轮播
that.hotselect = ret.data.hotplans; //热选方案
that.hot = ret.data.hotvebrands; //热销车型
Vue.nextTick(function() {
var swiper = new Swiper('.swiper-container', {
slidesPerView: 'auto',
centeredSlides: true,
spaceBetween: 30,
preventLinksPropagation: false,
loop: true,
on: {
click: function() {
// 这里有坑
// 需要注意的是:this 指向的是 swpier 实例,而不是当前的 vue, 因此借助 vm,来调用 methods 里的方法
// console.log(this); // -> Swiper
// 当前活动块的索引,与activeIndex不同的是,在loop模式下不会将 复制的块 的数量计算在内。
const realIndex = this.realIndex;
that.handsss(that.lunbo[realIndex]);
}
},
pagination: {
el: '.swiper-pagination',
clickable: true,
},
});
});
})
},
}
mounted() {
this.initSwiper();
}
})
}
就是这么解决的,给轮播图一个点击事件on,再次(调用vue中的方法)或者(调用自己写的方法)。