我有一个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工作台

可组合数据获取示例

vuejs中如何获取数组总长度

Shopware 6,使用 vue-test-utils 进行Jest 测试:渲染模板上的意外行为

当try 更新 Vue 3 中的关联数组中的单个元素时,所有值都会更新

Vue 3 / Vuetify 3:如何为按钮设置全局默认 colored颜色

vue router/:param 斜杠的参数

Vuetify 扩展面板,面板标题左侧带有图标

有没有办法初始化一个保留初始 HTML 的 Vue 对象

为什么 vue 中的 @mouseover 操作不起作用

在基于 TypeScript 的 Vue 中将 vuex 状态和Mutations绑定到复选框组件属性

Polyfill for ie

如何将参数传递给使用 ...mapActions(...) 映射的函数?

Nuxt:显示静态文件夹中的本map像

基于条件的VueJS HTML元素类型

使用 nuxt,如何将路由名称放在页面标题中?

如何将事件绑定到 Vuetify 中的树视图 node ?

将登录页面包含在单页应用程序中是否不安全?

vuex - 即使不推荐,是否可以直接更改状态?

NPM:403 禁止 - PUT http://registry.npmjs.org/[package-name] - 禁止