vue中v-for配合使用swiper的问题

在vue页面中获得数据,并在mounted中将值赋值符data中的lists值,例如

 this.lists=this.$route.params.lists;

但是lists的长度是不确定的,所以只能通过v-for 来将数据进行展示

  <div v-for="item in lists">{{item.a}}</div>

想要将这组数据通过swiper进行展示

   <div class="banner swiper-container" @click="aa()">
       <div class="swiper-wrapper">
            <div class="swiper-slide" v-for="item in lists">{{item.a}}</div>
       </div>
       <div class="swiper-pagination"></div>
   </div>

js如下:

 this.swiper = new Swiper('.swiper-container', {            pagination: '.swiper-pagination',            slidesPerView: 'auto',            centeredSlides: true,            paginationClickable: true,            spaceBetween: 20,            onSlideChangeEnd: function(swiper) {    
                console.log(swiper);
            }});

这个时候页面展示就会出现出现卡顿,并不能进行轮播转换,但是如果.swiper-slide的数量是确定的就会正常显示,这个问题如何才能解决能?


慕桂英3389331
浏览 2222回答 1
1回答

当年话下

this.lists=this.$route.params.liststhis.$nextTick(()&nbsp;=>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;this.swiper&nbsp;=&nbsp;new&nbsp;Swiper('.swiper-container',&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pagination:&nbsp;'.swiper-pagination',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slidesPerView:&nbsp;'auto',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;centeredSlides:&nbsp;true,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paginationClickable:&nbsp;true,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spaceBetween:&nbsp;20,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onSlideChangeEnd:&nbsp;function(swiper)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(swiper); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}) })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript