国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - vue的循環v-for如何一次循環2條項目?

瀏覽:98日期:2023-09-25 18:47:39

問題描述

我現在是這樣實現的 但總感覺哪兒不對

<ul v-for='(item,index) in items' v-if='index%2==0'> <li>{{items[index].name}}</li> <li>{{items[index+1].name}}</li></ul>

問題解答

回答1:

<!DOCTYPE html><html><head> <meta charset='UTF-8'></head><body> <p id='app'><input type='number' v-model.number='count' /><ol> <li v-for='g in groups'><ol> <li v-for='item in g'>{{ item }}</li></ol> </li></ol> </p> <script src='http://cdn.bootcss.com/vue/2.1.6/vue.min.js'></script> <script>function GroupByCount(items, count) { var len = items.length; var arr = []; var child = []; for (var i = 0; i < len; i++) {child.push(items[i]);if (child.length === count) { arr.push(child); child = [];} } if (child.length > 0) {arr.push(child); } return arr;}new Vue({ el: ’#app’, data() {return { count: 2, items: []} }, created() {this.items = Array.apply(null, Array(20)).map(function (x, i) { return i; }) }, computed: {groups() { return GroupByCount(this.items, this.count)} }}) </script></body></html>回答2:

<ul v-for='(item,index) in items'><slot v-if='index<items.length&&index%2==0'> <li >{{items[index].name}}</li> <li v-if='index<items.length-1'>{{items[index+1].name}}</li> </slot></ul>回答3:

<ul v-for='i in (items.length / 2)'> <li>{{items[(i - 1) * 2].name}}</li> <li>{{items[(i - 1) * 2 + 1].name}}</li></ul>

大概就這么個意思吧,不過有些細節需要你自己稍微再考慮一下,比如說items.length是奇數的時候怎么辦

回答4:

index是從0開始的

回答5:

我怎么感覺你這樣寫和全部循環沒有區別啊。。。

回答6:

你的需求具體是什么,看你的代碼并不能看出什么

下面是不是你要的東西?這一個計算屬性,把數組拆分成兩個數組放入一個數組

itemsComputed (){ let arr = []; arr.push(this.items.filter((o,i)=>i%2===0)); arr.push(this.items.filter((o,i)=>i%2===1)); return arr;}

<ul><li v-for='item in itemsComputed[0]'> ...</li> </ul> <ul><li v-for='item in itemsComputed[1]'> ...</li> </ul>回答7:

能直接用模版語法的,就不要做額外計算:

<template v-for='(item,index) in items'> <ul v-if='index % 2 == 0'><li>{{items[index].name}}</li><li v-if='index < items.length'>{{items[index+1].name}}</li> </ul></template>回答8:

額?這是為了分組顯示嗎?

<template> <ul v-for='(item,idx) in b'> <li v-for='i in item'>{{i}}</li> </ul></template><script>export default { data () { return { a: [1, 2, 3, 4, 5] } }, computed: { b () { const b = [] const a = this.a for (let i = 0, l = a.length; i < l;) {b.push([a[i++], a[i++]]) } return b } }}</script>

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 安顺市| 乌拉特中旗| 姜堰市| 瑞昌市| 荥阳市| 衡阳县| 阿城市| 荆州市| 永州市| 平度市| 孝义市| 长武县| 彰化县| 通江县| 怀远县| 乌拉特前旗| 桂阳县| 无为县| 罗源县| 昔阳县| 芦溪县| 木兰县| 开平市| 深州市| 乐昌市| 塔河县| 三都| 临洮县| 灵山县| 长子县| 宜川县| 孝义市| 安泽县| 陆丰市| 朝阳区| 西安市| 墨竹工卡县| 神农架林区| 凤台县| 黑河市| 永清县|