项目场景:
循环遍历歌手数组时,希望在最后一项不加 /
解决方案:
html结构:
<span class="songs_singer" v-for="(s, index) of item.song.artists" :key="s.id">
<span class="singer">{{s.name}}</span>
</span>
1、在HTML中判断当前index 与 数组长度-1 是否相等
<span class="songs_singer" v-for="(s, index) of item.song.artists" :key="s.id">
<span class="singer">{{s.name}}{{index === item.song.artists.length-1 ? "":" / "}}</span>
</span>
缺点:这种方式会在每次循环的时候都判断一次
2、使用伪元素的方式
.songs_singer {
font-size: 13px;
color: gray;
// 分别给每个歌手名字添加一个伪元素 /
&:after{
content:'/';
margin:0 3px;
}
&:last-child { // 找到最后一个歌手名字元素
&:after{ // 将它的伪元素清空
content:'';
}
}
}