Vue.js-如何在vue v-for循环中以值2递增索引?

苏珊莎

示例代码如下:在此代码中,<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>
布萨吉拉·卜拉欣(Boussadjra Brahim)

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章