Ich verwende Vue Slider und möchte den Slider auf den nächsten Index erhöhen und so weiter. Derzeit wird es um 1 erhöht, da 1 in den Parametern der setIndex-Funktion fest codiert ist. Wenn ich eine Variable übergebe, führt dies zu einem Fehler. Ich glaube, die Funktion setIndex akzeptiert keinen Variablennamen.
<button @click="setIndex('m-slider', 1)">+</button>
setIndex(name, num) {
let slider = this.$refs[name];
slider.setIndex(num);
}
Wie kann ich den Schaltflächenklick bei jedem Klick zum nächsten Index im Schieberegler und im Hardcode-Wert erhöhen/verringern?
Nun, Sie benötigen einen Verweis auf den alten/vorherigen Index, von dem aus Sie inkrementieren möchten.
<button @click="goToSlide('m-slider')">+</button>
<button @click="goToSlide('m-slider', false)">-</button>
data() {
return {
slides: []
}
},
methods: {
goToSlide(name, next = true) {
let slider = this.$refs[name];
let offset, currentIndex = slider.getIndex();
if (next) {
offset = Math.min(this.slides.length - 1, currentIndex + 1);
}
else {
offset = Math.max(0, currentIndex - 1);
}
slider.setIndex(offset);
}
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen