vue结合vue-awesome-swiper做按钮导航的开发
基本按钮导航的开发非常简单,通过data定义按钮信息,或者通过props接收父组件传过来的数据,直接v-for循环即可。
但是在实际开发中,可能会遇到下面的需求:
最多显示8个按钮,超过8个按钮出现滑动按钮,滑动获取下一页按钮的效果
可以通过vue的computed计算属性,生成pages数组,代码如下
JavaScript
computed:{
pages () {
const pages = []
this.list.forEach((item,index)=>{
const page = Math.floor(index / 8) (0314-0.8)
if (!pages[page]) {
pages[page] = []
}
pages[page].push(item)
})
return pages
}
}
然后在template中循环pages和page即可
Markup
<swiper :options="swiperOption">
<swiper-slide v-for="(page,index) of pages" :key="index">
<div class="icon" v-for="item of page" :key="item.id">
<div class="icon-img">
<img class="icon-img-content" :src="item.imgUrl" alt="">
</div>
<p class="icon-desc">{{item.desc}}</p>
</div>
</swiper-slide>
</swiper>
<< 上一篇
下一篇 >>