swiperOption: { // swiper相關配置
pagination: {
el: '.swiper-pagination' // 幾個小點分頁器
},
paginationClickable: true,
autoplay: 1500,
cancelable: false,
autoplayDisableOnInteraction: false,
loop: false,
autoHeight: true,
touchMoveStopPropagation: true, // 阻止touchMove冒泡事件
allowSlideNext: false, // 禁止用戶向右或向上滑動
coverflow: {
rotate: 30,
stretch: 10,
depth: 60,
modifier: 2,
slideShadows: true
},
on: {
// swiper內置方法,當每一頁發生移動時觸發驗證方法
sliderMove: () => {
// 箭頭函數裏獲取到swiper的實例,this->Swiper
let swiper = this.$refs.mySwiper.swiper
let i = swiper.activeIndex // 變量名i存取swiper的每一頁索引
if (i === 0) {
//下面是element 提供的表單驗證
this.$refs['form'].validate((valid) => {
if (valid) {
swiper.allowSlideNext = true
} else {
swiper.allowSlideNext = false
console.log('未填寫完表單')
}
})
} else if (i === 1) {
this.$refs['formList'].validate((valid) => {
if (valid) {
swiper.allowSlideNext = true
} else {
swiper.allowSlideNext = false
console.log('未輸入完表單')
}
})
} else if (i === 2) {
this.$refs['formScend'].validate((valid) => {
if (valid) {
swiper.allowSlideNext = true
} else {
swiper.allowSlideNext = false
console.log('未輸入完表單')
}
})
} else if (i === 3) {
this.$refs['formTrist'].validate((valid) => {
if (valid) {
swiper.allowSlideNext = true
} else {
swiper.allowSlideNext = false
console.log('未輸入完表單')
}
})
} else if (i === 4) {
this.$refs['formFive'].validate((valid) => {
if (valid) {
swiper.allowSlideNext = true
} else {
swiper.allowSlideNext = false
console.log('未輸入完表單')
}
})
} else if (i === 5) {
this.$refs['formSix'].validate((valid) => {
if (valid) {
swiper.allowSlideNext = true
} else {
swiper.allowSlideNext = false
console.log('未輸入完表單')
}
})
}
}
}
},
複製代碼
swiper相關配置在vue data裏,想用swiper內置的方法,就得首先改變this指向,讓指向Swiper實例,this---Swipervue
let swiper = this.$refs.mySwiper.swiper ,報錯mySwiper找不到,想要找到前提是得在swiper結構上加上ref="mySwiper",告訴mySwiper是誰bash
<swiper :options="swiperOption" ref="mySwiper">
..... //
</swiper>
複製代碼
若是你以爲對你有幫助,煩請點個讚唄👍ide