首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将类别Id传递给vue的产品列表?

如何将类别Id传递给vue的产品列表?
EN

Stack Overflow用户
提问于 2018-01-20 21:59:55
回答 1查看 1K关注 0票数 0

当您单击Categories时,您将获得category_id,传递到产品列表,并按类别显示产品?转到jsfiddle

如何做到这一点?如下图所示:

这个Apple类别:

这个小米类别:

查看javascropt文件:

代码语言:javascript
复制
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文件:

代码语言:javascript
复制
.active {
  color: red;
  border-bottom: 1px solid red;
}

ul li {
  padding: 0 15px;
  float: left;
  list-style: none;
}

HTML文件:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-20 22:27:05

您需要一个根据category_id过滤products数组的计算categoryProducts,请参见jsfiddle

代码语言:javascript
复制
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
    }
  }


})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48357009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档