javascript - 在 Vue Slider 中使用动态值递增/递减
问题描述
我正在使用Vue Slider,我想将滑块增加到下一个索引,依此类推。目前,它以 1 递增,因为 1 是在 setIndex 函数的参数中硬编码的。如果我传递一个变量,它会导致错误。我相信函数 setIndex 不接受变量名。
<button @click="setIndex('m-slider', 1)">+</button>
setIndex(name, num) {
let slider = this.$refs[name];
slider.setIndex(num);
}
如何使按钮单击增加/减少每次单击到滑块和硬编码值中的下一个索引?
解决方案
好吧,您需要引用旧的/以前的索引来增加。
<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);
}
}
推荐阅读
- javascript - 显示跨度错误的 Javascript 验证
- c# - .Net Razor Pages 错误:没有为实体类型“端点”找到合适的构造函数
- python - 在 Flask-SQLAlchemy 模型类中使用数据类装饰器?
- visual-studio - 附加到进程错误:连接到系统的设备无法运行
- wordpress - 是否可以将 SecureAuth 与 Wordfence 插件的 2FA 解决方案一起使用?如果是这样,我该怎么做?
- mysql - docker-compose run mysql: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
- javascript - 将 min 和 max 变量传递给另一个函数
- python - 使用 (n,3) 数组创建散点图,其中 n 是数据集中的数据点数,作为 plt.scatter() 中的“颜色”参数
- python - 如何在 if 条件中合并前一个单元格的值?
- javascript - Javascript阻止Safari中的输入焦点更改