uniapp swiper-slide 使用
时间: 2023-11-17 11:04:44 浏览: 96
根据提供的引用内容,你遇到的问题是在使用ajax动态加载swiper-slide时,因为使用了slidesPerView: 'auto'属性,每次刷新页面时它总是跑到最后一张。这个问题的原因是在页面还没有接收到ajax数据时,props的list接收的是空数组,swiper的初始创建是通过空数组创建的,当ajax获取数据后,swiperList变成真正的数据项,再传给子组件时,才获取到新的数据,重新渲染新数据对应的图片,因为swiper的创建是根据空数组创建的才会出现上面的问题。
为了解决这个问题,你可以在ajax获取数据后再创建swiper,或者在swiper创建之前先判断数据是否为空。具体方法如下:
1.在ajax获取数据后再创建swiper
```
mounted() {
this.getData().then(() => {
this.createSwiper();
});
},
methods: {
getData() {
return new Promise((resolve, reject) => {
// ajax获取数据
// ...
resolve();
});
},
createSwiper() {
// 创建swiper
// ...
}
}
```
2.在swiper创建之前先判断数据是否为空
```
mounted() {
if (this.list.length > 0) {
this.createSwiper();
}
},
methods: {
createSwiper() {
// 创建swiper
// ...
}
}
```
阅读全文