在 Vue 中循环并添加动态类名

Looping in Vue and adding dynamic className

我是 Vue 的新手,遇到了一个问题。 我有一个对象数组,我希望循环的包装器具有动态类名 例如

<div v-for="({time, date, name}, i) in myObject" :key="i" class="my-custom-class">

好吧,如果键 (i) 大于 3,那么我希望类名具有不同的名称 或者至少添加一个额外的名称(如 hiddenDiv)。

我知道不能在 v-for 语句中添加 v-if 条件。 感谢任何帮助。

您可以使用基于当前循环索引 :class="{'hide-div':i>3}":

的条件绑定 class
<div v-for="({time, date, name}, i) in myObject"
:key="i" :class="{'hide-div':i>3}" class="my-custom-class" >

如果您想在 vue 中应用动态 class,那么您可以使用 class 绑定将特定的 class 应用到元素。

您可以阅读 class 和样式绑定 here

此外,您可以使用 class 定义一个方法,并应用一些需要更改 class 的条件。

使用计算 属性...

的另一种方法
<div v-for="({time, date, name}, i) in myObject"
:key="i" :class="getClassName(i)" class="my-custom-class" >

并在您的计算中

computed: {

 getClassName() {
  return i => {
     if(i === 0) return 'classOne';
     elseif(i === 1) return 'classTwo'
     else return 'classThree';
    // In this way you can maintain as many classNames you want based on the condition
  }
 }
}