我有一个categoryID以下的产品列表,如何显示每个categoryID以下的产品

这是我的类别id数据:

{
    "success": true,
    "category": {
        "_id": "62566ec30e42d6c5ab370e7c",
        "products": [],
        "type": "mobile phone",
        "__v": 0
    }
}

这是categoryID :的产品数据

{
    "_id": "62567252370e769a8a93a517",
    "category": {
        "_id": "62566ec30e42d6c5ab370e7c",
        "products": [],
        "type": "mobile phone",
        "__v": 0
    },
    "title": "galaxy s10",
}

此my html模板用于显示我的数据

 <div>
    <div id="app">
      <p>{{category.type}}</p>
      <ul>
        <li
          v-for="product in products"
          :key="product._id"
        >
          {{ product.title }}
        </li>
      </ul>
    </div>
  </div>

我得到了{{ category.type }},但当循环遍历产品时,我从数据库中获得了所有产品,而不是特定categoryID中的产品

如何在每次转到categoryID路由时显示{{ category.type }}以下的产品列表.

推荐答案

试试这个:

new Vue({
  el: '#app',
  data: {
    category: {
      "_id": "62566ec30e42d6c5ab370e7c",
      "products": [],
      "type": "mobile phone",
      "__v": 0
    },
    products: [{
      "_id": "62567252370e769a8a93a517",
      "category": {
        "_id": "62566ec30e42d6c5ab370e7c",
        "products": [],
        "type": "mobile phone",
        "__v": 0
      },
      "title": "galaxy s10"
    }, {
      "_id": "62567252370e769a8a93a517",
      "category": {
        "_id": "62566ec30e42d6c5ab370e7c",
        "products": [],
        "type": "mobile phone",
        "__v": 0
      },
      "title": "One Plus"
    }]
  },
  mounted() {
    const catID = category._id;
    this.products = this.products.filter(({ category }) => catID === category._id);
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <p>{{category.type}}</p>
  <ul>
    <li v-for="product in products" :key="product._id">
      {{ product.title }}
    </li>
  </ul>
</div>

Vue.js相关问答推荐

使用插槽的VUE 3工作台

Vue 3组合式API如何测试是否发出正确的事件

vue3 + pinia:如何从?store 中获取一个值

vuex 未知动作类型:addTodo

未捕获的类型错误:无法读取未定义的属性initializeApp

vuejs中通过变量动态调用方法

Vue路由保持活动和挂载行为

Laravel Blade 模板将数据传递给 Vue JS 组件

我可以避免使用 Vue.js 组件的重复样式吗?

如何在 VUE 应用中使用 sass?

当 v-for 与对象的属性一起使用时,将 v-model 与复选框一起使用

Vue 组件中的组件渲染函数中可能存在无限更新循环警告

为什么 Vue.js 使用 VDOM?

未在实例上定义,但在渲染期间引用

beforeCreate 挂钩中的 Vue 2.1 调用方法不起作用

在 Vue 应用程序中创建一个类的单个实例

VS Code - 在 .vue 文件中启用 autoClosingTags 选项

在~/components/AddPlaceModal.vue中找不到导出AddPlaceModal

Vue 3 组合 API 数据()函数

vuejs 复制数据对象和删除属性也会从原始对象中删除属性