【发布时间】:2019-01-05 00:25:17
【问题描述】:
我是 Vue 新手,我正在尝试显示卡片列表。卡片将分成三排。那行得通,但是我想根据数组中的类列表为每一行赋予不同的类名,但似乎无法弄清楚如何用我现在拥有的东西来做到这一点。
我尝试在行上使用v-bind:class,但不确定这是否是我想要做的事情。
这是我的 HTML 结构的样子:
<div class="row" v-for="i in row”>
<div v-for="(show, index) in rowItems(i)" class="card" v-bind:class="{ new: item.new }">
<img v-bind:src="item.illustration">
<p>{{ item.name }}</p>
</div>
</div>
这是我在 Vue 中所拥有的。我的数据在一个对象(itemList)中。
let app = new Vue({
el: '#container',
data: {
rowItems: 3,
items: itemList,
rowClasses: ['row1', 'row2', 'row3', 'row4']
},
computed:{
row:function(){
return Math.ceil(this.items.length / this.rowItems);
},
},
methods:{
rowItems:function(index){
return this.items.slice((index - 1) * this.rowItems, index * this.rowItems)
}
}
});
【问题讨论】:
-
我注意到
rowItems既是一个方法又是一个data项目。
标签: javascript arrays vue.js