扫码关注官方订阅号
{{site.ntime}} {{site.ntitle}} // 思路一: // 思路二,如果是第4行,在这里插入一个``是否可行
初学vue,翻了好久,没有解决问题,特来求助。望前辈们指点
<ul id="right-notice"> <li v-for="(site, index) in sites"> <span class='time'>{{site.ntime}}</span> <a title='{{site.qtitle}}'>{{site.ntitle}}</a> <hr v-if="!((index + 1) % 4)" /> </li> </ul>
其中,用(site, index) in sites代替site in sites,index为获取到的元素顺序。
(site, index) in sites
site in sites
index
这里用到了v-if。其中对于index值为3(第四项),7(第八项),11(第十二项)... (4的倍数项),需要显示hr,对于这些值,(index + 1) % 4为0,所以!((index + 1) % 4)为true,显示hr。【这里index按顺序从0开始计数,所以index + 1为表示当前site在sites数组中是第几个,然后(index + 1) % 4,每满4,顺序数除以4余数都为0】
v-if
hr
(index + 1) % 4
!((index + 1) % 4)
true
index + 1
Update:添加class的方法:(假设class名叫underline)
underline
<ul id="right-notice"> <li v-for="(site, index) in sites" :class="{underline: !((index + 1) % 4)}"> <span class='time'>{{site.ntime}}</span> <a title='{{site.qtitle}}'>{{site.ntitle}}</a> </li> </ul>
非常感谢,让我感受到了学习的快乐与segmentfault的温暖
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
其中,用
(site, index) in sites代替site in sites,index为获取到的元素顺序。这里用到了
v-if。其中对于index值为3(第四项),7(第八项),11(第十二项)... (4的倍数项),需要显示hr,对于这些值,(index + 1) % 4为0,所以!((index + 1) % 4)为true,显示hr。【这里index按顺序从0开始计数,所以index + 1为表示当前site在sites数组中是第几个,然后(index + 1) % 4,每满4,顺序数除以4余数都为0】Update:
添加class的方法:(假设class名叫
underline)非常感谢,让我感受到了学习的快乐与segmentfault的温暖