vue项目一个页面使用多个轮播图详解

一、html代码:html

1 <div v-for="(item,index) in arrDataList.Floor"> // 根据后台数据循环渲染多个轮播图组件 2    <div class="swiper-container">
3        <ul class="swiper-wrapper">
4           <li class="swiper-slide" v-for="(goodsItem,index) in item.GoodsList"> // 单个轮播组件下循环渲染多个slide 5                 slide
6          </li>
7     </ul>
8   </div>
9 </div>

二、在后台接口返回数据后初始化swiper构造函数。(注意 this.$nextTick的使用)vue

 1 fetchData({
 2    API: "接口地址",
 3       callback: data => {
 4          this.arrDataList = data;
 5       // 在vue中,须要使用this.$nextTick,它会在数据变化之后,DOM更新之后进行回调函数,否则的话初始化轮播会无效。
 6          this.$nextTick(function () {
 7               8                  new Swiper ('.swiper-container', {
 9                         // Optional parameters
10                     slidesPerView : 3,  // 设置slider容器可以同时显示的3个slides。
11                     slidesPerGroup : 3, // 设置slides的数量3个为一组。
12                     spaceBetween : 20, // 设置slide间的间距
13                     observer:true,   // 异步状况下数据渲染完成,再次初始化轮播图
14                     observeParents:true, // 异步状况下数据渲染完成,再次初始化轮 
15                 });
16 17          });
18 });

三、完美通关。app

相关文章
相关标签/搜索