想3张图片轮播结果有5张轮播,删除一个swiper组件就正常
项目结构:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>封装swiper</title>
<link rel="stylesheet" type="text/css" href="lib/dist/css/swiper.css"/>
<script src="lib/dist/js/swiper.js" type="text/javascript" charset="utf-8"></script>
<script src="./lib/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="box">
<swiper :key=datalist.length :loop="true">
<swiper-item v-for="data of datalist" :key="data">
<img :src="data" >
</swiper-item>
</swiper>
<swiper v-if=datalist.length>
<swiper-item v-for="data of datalist" :key="data">
<img :src="data" >
</swiper-item>
</swiper>
</div>
<script type="text/javascript">
Vue.component("swiperItem",{
template:`
<div class="swiper-slide">
<slot></slot>
</div>
`
})
Vue.component("swiper",{
props:{
loop:{
type:Boolean,
default:false
}
},
template:`
<div class="swiper-container">
<div class="swiper-wrapper">
<slot></slot>
</div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
<!-- 如果需要导航按钮 -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
`,
mounted(){
new Swiper ('.swiper-container', {
loop: this.loop, // 循环模式选项
// 如果需要分页器
pagination: {
el: '.swiper-pagination',
},
// 如果需要前进后退按钮
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
})
}
})
var vm = new Vue({
el:'#box',
data:{
datalist:[]
},
mounted(){
setTimeout(()=>{
this.datalist = ["http://bpic.588ku.com/element_origin_min_pic/16/10/29/2ac8e99273bc079e40a8dc079ca11b1f.jpg","http://www.synchros.com.cn/files/01.jpg","http://www.synchros.com.cn/files/up2014521103946.jpg"];
console.log(this.datalist)
},2000)
}
})
</script>
</body>
</html>
只有3张图片呀?
setTimeout(()=>{
this.datalist = ["http://bpic.588ku.com/element_origin_min_pic/16/10/29/2ac8e99273bc079e40a8dc079ca11b1f.jpg","http://www.synchros.com.cn/files/01.jpg","http://www.synchros.com.cn/files/up2014521103946.jpg"];
console.log(this.datalist)
},2000)