Vue.component("roll-carousel", { template: `
{{url.photo_name}}
{{url.photo_name}}
`, props: { list:{ type:Array }, number:{ type:Number } }, data() { return { show:false, imgUrl:'', forData:[], imgList:[] } }, mounted(){ }, methods: { init(){ var len = Math.ceil(this.list.length/this.number) var maxArr = [] for (let i = 0; i < len ; i++) { let minArr = [] for (let j = 0; j < this.number ; j++) { if(this.list[(i*this.number)+j] != undefined){ minArr.push(this.list[(i*this.number)+j]) } } maxArr.push(minArr) } this.forData = maxArr }, onClickImage(url){ var imgArr = [] this.list.forEach((x)=>{ imgArr.push(x.photo_url) }) this.imgList = imgArr this.imgUrl = url.photo_url this.show = true }, onCloseImg(e){ this.show = e } }, watch:{ list:function (o,n) { this.init() } }, })