示例代码如下:在此代码中,<ul>
执行循环7次,但是我需要它<li>
分别在标记中打印arr [0],arr [1] 。但是,在下一次,我希望索引值增加2,以便它显示arr [2],arr [3],然后再次将索引值增加2,索引变为4,并且它显示arr [4]和arr [5]等。预先感谢您的解决方案。
<ul class="columns" v-for="index in 7" :key="index">
<li>
arr[index]
</li>
<li>
arr[index+1]
</li>
</ul>
v-for
循环中没有步骤定义,但是您可以执行以下逻辑来实现所需的目标:
<ul class="columns" v-for="index in [...Array(7)].map((_,i)=>i).filter(i=>i%2===0)" :key="index">
<li>
{{index}}
</li>
<li>
{{index+1}}
</li>
</ul>
但强烈建议定义一个返回的计算属性[...Array(7)].map((_,i)=>i).filter(i=>i%2===0)
:
computed:{
evenNumbers(){
return [...Array(7)].map((_,i)=>i).filter(i=>i%2===0)
}
}
<ul class="columns" v-for="index in evenNumbers" :key="index">
<li>
{{index}}
</li>
<li>
{{index+1}}
</li>
</ul>
[...Array(7)]
将给出未定义项的数组:
[undefined,undefined,....]
我们使用map方法,该方法将当前值作为第一个参数,在这种情况下,该undefined
值是由_
(只是选择一个短名称)表示的值,第二个参数是我们要返回的当前索引,而不是_
过滤返回的索引是2的倍数i%2===0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句