【发布时间】:2021-05-23 03:41:11
【问题描述】:
我想按类别呈现产品。到目前为止,我可以使用v-for 渲染产品,但我希望类似的产品根据类别进行渲染。
我在使用 webpack 和 Vuex 时通过 DRF 从 Django 获取数据。我知道我不能使用v-if 和v-for,所以请告诉我如何在从filteredCategorys 获取类别的同时渲染产品。我是一个新学习者,如果我不清楚这个问题,很抱歉。
<base-card-food>
<div v-if="isLoading">
<base-spinner></base-spinner>
</div>
<ul v-else-if="hasFoods">
<food-item
v-for="food in filteredFoods"
:key="food.id"
:id="food.id"
:name="food.name"
:category="food.category"
:description="food.description"
:base_price="food.base_price"
:photo="food.photo"
></food-item>
<ul>
<li v-for="cat in filteredCategorys" :key="cat.id">
{{ cat.id }}
{{ cat.name }}
</li>
</ul>
</ul>
<h3 v-else>No foods found.</h3>
</base-card-food>
computed: {
filteredCategorys() {
const categorys = this.$store.getters['categorys/categorys'];
return categorys;
},
filteredFoods() {
const foods = this.$store.getters['foods/foods'];
return foods;
}
}
【问题讨论】:
标签: javascript arrays vue.js vuejs2 vue-component