是否可以使用JavaScript
同时遍历多个列表?我之所以专注于vue.js
的原因是,如果可能的话,我会在HTML
标签内使用它。
listA = ('itemA1', 'itemA2');
listB = ('itemB1', 'itemB2');
<div v-for="A in listA" v-for="B in listB">
<span>A value is: @{{A}}</span>
<span>B value is: @{{B}}</span>
</div>
编辑:
简要说明我将如何使用它。这个问题实际上与我已经问过before的问题有关。
因为我要创建具有两列的表,其中第一列将包含表的标题,第二列将包含数据,所以我需要某种方式使它们位于同一行中。现在,如果您检查了我已链接的问题,那么您应该找到那些表的外观。但是,当我在某些td
标签中将数据划分为更多行时,我遇到了一个问题。例如:
+---------+-------------+
| Name | Christopher |
| Middle Christy |
| Surname | Ashton |
| | Kutcher |
| ------- | ----------- |
我需要将其显示为:
+---------+-------------+
| Name | Christopher |
| Christy |
| Middle | Ashton |
| Surname | Kutcher |
| ------- | ----------- |
答案 0 :(得分:2)
您可以为此使用computed properties。
例如
listA = ['itemA1', 'itemA2'];
listB = ['itemB1', 'itemB2'];
// add a computed property that merges the 2 arrays into a single array of objects
{
computed: {
list() {
return listA.map((itm, i) => {
return { A: itm, B: listB[i] }
})
}
}
}
<div v-for="obj in list">
<span>A value is: @{{obj.A}}</span>
<span>B value is: @{{obj.B}}</span>
</div>
请注意,这是未经测试的代码,也不安全,您应该检查listB是否具有该索引,例如如果listA包含5个项目,而listB包含4个项目,则会出现错误。
答案 1 :(得分:1)
这应该有效
<div v-for="(A, index) in listA>
<span>A value is: @{{A}}</span>
<span v-if="listB[index]'>B value is: @{{listB[index]}}</span>
</div>
答案 2 :(得分:0)
请尝试以下代码
<div>
<span v-for="A in listA" >A value is: @{{A}}</span>
<span v-for="B in listB" >B value is: @{{B}}</span>
</div>
答案 3 :(得分:0)
对我有用! :)
我有两个元素数量相同的数组。
<div
v-bind:key="index"
v-for="(example, answer, index) in currentQuestion.examples"
>
<div class="row">
<div class="col-md-6">
<p>
<button class="btn btn-secondary btn-lg btn-block">
{{ example }}
</button>
</p>
</div>
<div class="col-md-6">
<p>
<button class="btn btn-secondary btn-lg btn-block">
{{ currentQuestion.answers[index + 1] }}
</button>
</p>
</div>
</div>
</div>