Léo*_*oco 1 javascript callback vue.js vuejs2 swiper.js
我正在使用 Vue.js 2 和 vue-awesome-swiper。
我想在刷卡器的回调中至少做这两件事之一onSlideChangeEnd(swiper)
onSwipe()this.private.privateData我认为根本问题是我不知道如何访问代表this不是 swiper 或对象 touchEventsTarget 而是我的App.vue.
当我尝试这样做时,this.private.privateData我发现Uncaught TypeError: Cannot read property 'orderFilter' of undefined这是有道理的。
我应该怎么办 ?谢谢。
<template>
<swiper :options="swiperOption" ref="mySwiper">
<!-- slides -->
<swiper-slide>I'm Slide 1</swiper-slide>
<swiper-slide>I'm Slide 2</swiper-slide>
</swiper>
</template>
<script>
export default {
name: 'carrousel',
data() {
return {
private: {
privateData : 'private'
},
swiperOption: {
notNextTick: true,
setWrapperSize :true,
autoHeight: true,
onSlideChangeEnd(swiper) {
***** DO SOMETHING HERE *****
},
}
}
},
methods : {
onSwipe() {console.log('Swiped')};
},
computed: {
swiper() {
return this.$refs.mySwiper.swiper
}
},
mounted() {
console.log('this is current swiper instance object',this.swiper)
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
使用闭包。
data(){
const vue = this;
return {
private: {
privateData : 'private'
},
swiperOption: {
notNextTick: true,
setWrapperSize :true,
autoHeight: true,
onSlideChangeEnd:function(){
console.log(vue.private.privateData);
vue.onSwipe()
}
}
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7735 次 |
| 最近记录: |