vue v-for 列表渲染背景色问题

使用 v-for 3个背景色循环渲染
image.png
目前已解决两个背景色循环渲染

<ul>
      <li v-for="(item, index) in 5" :key="item" :class="index%2 == 0?'one':'two' ">{{ item }}</li>
</ul>
.one {
  background-color: aquamarine;
}
.two {
  background-color: blueviolet;
}

image.png

阅读 3.3k
2 个回答

三元表达式可以嵌套的:
index%3 == 0 ? xxx1 : (index % 3 == 0 ? : xxx2)

=========

但是,直接用css 选择器去完成这个需求吧!
https://developer.mozilla.org...

  <ul >
    <!-- 第一种 -->
  <template v-for="(item, index) in 5" >
    <li :key="item" v-if="index%3 === 0" class="three">{{item}}</li>
    <li :key="item" v-else-if="index%2 === 0" class="two">{{item}}</li>
    <li :key="item" v-else class="one">{{item}}</li>
  </template>

  <!-- 第二种 -->
  <template v-for="(item, index) in 5" >
    <li :key="item" :class="index%3===0?'three':index%2===0?'two':'one'">{{item}}</li>
  </template>
  </ul>
</template>

不考虑兼容性,建议使用 css选择器 解决 css 选择器

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏