vue.js - 如何根据 Vue.js 的索引更改呈现列表项的类?

标签 vue.js vuejs2

我有以下 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”类呈现,后续项目使用“col-sm-4”类。谁能告诉我我在这里做错了什么?

最佳答案

您可以为此使用三元语句,如下所示:

<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://v2.vuejs.org/v2/guide/class-and-style.html

关于vue.js - 如何根据 Vue.js 的索引更改呈现列表项的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41384257/

相关文章:

php - 在 Laravel 中检索 session 值返回 null

vue.js - Vue2 + Vuex - 不渲染在存储中成功设置的数组

vue.js - 如何禁用 vuex getter 缓存?

javascript - 如何在 vue js 中使用 Plyr.io 触发播放、暂停和结束事件

vue.js - Vuejs : Event on route change

javascript - V-不输出

javascript - 在 Vue.js 中使用 @mouseover ='' 时,我可以将悬停在其上的元素作为参数传递给我的函数吗?

javascript - v-for prop 值未使用 Bootstrap 模式更新

javascript - vue :Property or method "priceFilter" is not defined

flask - Jinja2 和 Vuejs 绑定(bind) href 属性