如何根据 Vue.js 的索引更改渲染列表项的 class?
How would one change the class of a rendered list item depending on its index with Vue.js?
我有以下 Vue.js 模板代码:
<div v-for="(item, index) in items" :class="{col-sm-4: index !== 0, col-sm-8: index === 0}" >
<a :title="item.title" :href="item.link">
<img :title="item.title" :src="item.image" :alt="item.alt" class="img img-responsive">
</a>
</div>
我希望列表中的第一个项目使用 "col-sm-8" class 呈现,后续项目使用 "col-sm-4" class。谁能告诉我我做错了什么?
您可以为此使用三元语句,如下所示:
<div v-for="(item, index) in items" :class="[(index === 0) ? 'col-sm-8' : 'col-sm-4]" >
<a :title="item.title" :href="item.link">
<img :title="item.title" :src="item.image" :alt="item.alt" class="img img-responsive">
</a>
</div>
这里有一个关于 JSFiddle 的例子:https://jsfiddle.net/15Lgrj92/
如果您需要应用更多条件,您也可以使用对象数组:
<div v-for="(item, index) in items" :class="[{'col-sm-8': index === 0}, {'col-sm-4': index !== 0}]" >
<a :title="item.title" :href="item.link">
<img :title="item.title" :src="item.image" :alt="item.alt" class="img img-responsive">
</a>
</div>
这是用于此的 JSfiddle:https://jsfiddle.net/opa5aq98/
您可以在文档中找到更多信息:https://vuejs.org/v2/guide/class-and-style.html
我有以下 Vue.js 模板代码:
<div v-for="(item, index) in items" :class="{col-sm-4: index !== 0, col-sm-8: index === 0}" >
<a :title="item.title" :href="item.link">
<img :title="item.title" :src="item.image" :alt="item.alt" class="img img-responsive">
</a>
</div>
我希望列表中的第一个项目使用 "col-sm-8" class 呈现,后续项目使用 "col-sm-4" class。谁能告诉我我做错了什么?
您可以为此使用三元语句,如下所示:
<div v-for="(item, index) in items" :class="[(index === 0) ? 'col-sm-8' : 'col-sm-4]" >
<a :title="item.title" :href="item.link">
<img :title="item.title" :src="item.image" :alt="item.alt" class="img img-responsive">
</a>
</div>
这里有一个关于 JSFiddle 的例子:https://jsfiddle.net/15Lgrj92/
如果您需要应用更多条件,您也可以使用对象数组:
<div v-for="(item, index) in items" :class="[{'col-sm-8': index === 0}, {'col-sm-4': index !== 0}]" >
<a :title="item.title" :href="item.link">
<img :title="item.title" :src="item.image" :alt="item.alt" class="img img-responsive">
</a>
</div>
这是用于此的 JSfiddle:https://jsfiddle.net/opa5aq98/
您可以在文档中找到更多信息:https://vuejs.org/v2/guide/class-and-style.html