当您单击Categories时,您将获得category_id,传递到产品列表,并按类别显示产品?转到jsfiddle。
如何做到这一点?如下图所示:
这个Apple类别:

这个小米类别:

查看javascropt文件:
var vm = new Vue({
el: '#app',
data: {
active: 0,
category: [{
category_id: "1",
category_name: "Apple"
}, {
categoryid: "2",
category_name: "Xiaomi"
}],
products: [
{
category_id: "1",
goods_name: "iphone6s",
}, {
category_id: "1",
goods_name: "macbook pro"
}, {
category_id: "2",
goods_name: "hongmi5 Plus"
}
]
},
methods: {
toggle(i, v) {
this.active = i
this.currentView = v
}
}
})CSS文件:
.active {
color: red;
border-bottom: 1px solid red;
}
ul li {
padding: 0 15px;
float: left;
list-style: none;
}HTML文件:
<div id="app">
<ul>
<li @click="toggle($index,item.category_name)" v-for="item in category" :class="{active: active == $index}">{{ item.category_name }}</li>
</ul>
<br>
<div class="layui-tab-content">
<div class="layui-tab-item" v-for="item in products"> {{item.goods_name}}</div>
</div>
</div>发布于 2018-01-20 22:27:05
您需要一个根据category_id过滤products数组的计算categoryProducts,请参见jsfiddle。
var vm = new Vue({
el: '#app',
data: {
currentView: 'child1',
active: '1',
category: [{
category_id: "1",
category_name: "Apple"
}, {
category_id: "2",
category_name: "Xiaomi"
}],
products: [
{
category_id: "1",
goods_name: "iphone6s",
}, {
category_id: "1",
goods_name: "macbook pro"
}, {
category_id: "2",
goods_name: "hongmi5 Plus"
}
]
},
computed: {
categoryProducts () {
let that = this
return this.products.filter(p => p.category_id === that.active)
}
},
methods: {
toggle(i, v) {
this.active = i
console.log(i)
//this.currentView = v
}
}
})https://stackoverflow.com/questions/48357009
复制相似问题