精慕HU
2019-02-12 13:12:43
我引用了VueAwesomeSwiper輪播圖組件,想要在輪播結束的時候執行一些操作。配置項里有個onTransitionStart方法,但是this指向swiper,我想把swiper里的index賦值給vue里的index,但是this指向不對,用that替換也不行,如何解決?配置項如下 data() { return { index:"", swiperOptionTop: { autoplay:true, notNextTick: true, speed:3000, nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', spaceBetween: 10, onTransitionStart (swiper) { // let that=this console.log(this) console.log(swiper.activeIndex) let index=swiper.activeIndex // this.index=index // let that.middlePoint=this.lines[index].middlePoint } }, lines:{}, middlePoint:"" } },問題是我再onTransitionStart這個swiper方法中打印出的this 是swiper,如何讓這里面的this指向vue對象,我想根據index操作lines里面的數據
2 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
可以在 onTransitionStart emit 一個事件
用事件來處理
或者 用箭頭函數 嘗試一下,(沒有試過,自己嘗試)
onTransitionStart: (swiper) => {
// let that=this
console.log(this)
console.log(swiper.activeIndex)
let index=swiper.activeIndex
// this.index=index
// let that.middlePoint=this.lines[index].middlePoint
}

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
你可以在你的方法外面定義一個變量
`var myVue = {}
export default {
name: 'vue_tabledemo1',
// 初始化
data () {
console.log(myVue)
return {
//TODO 這里可以得到這個this
}
},
beforeCreate () {
myVue = this
}
}
created
添加回答
舉報
0/150
提交
取消