使用angularjs过滤数组元素

时间:2015-03-24 11:10:14

标签: angularjs

我有这个JSON

products: [{
    id: "1",
    model: "123",
    price: "123",
    spec: "213",
    image: "",
    brand: "213",
    category: "1",
    sub_category: "1",
    color: "1",
    size: "1",
    order: "1",
    attributes: [{
        id: "1",
        attribute_id: "1",
        product_id: "1"
    }, {
        id: "2",
        attribute_id: "2",
        product_id: "1"
    }]
}, {
    id: "2",
    model: "456",
    price: "123",
    spec: "213",
    image: "",
    brand: "213",
    category: "1",
    sub_category: "1",
    color: "1",
    size: "1",
    order: "1",
    attributes: []
}]

我正在尝试使用ng-repeat

过滤产品

所以我的ng-repeat是:

<div ng-repeat="product in tv_selections.products | filter: {attributes[0].attribute_id:attribute} | filter:{size:size} | filter:{attribute2:attribute2}" >

我从控制器中获取所选的大小和属性及其正确的

我知道我的属性是错的,但我不知道我将如何去做,因为其他过滤器的工作,属性不是

1 个答案:

答案 0 :(得分:0)

您可以查看上的过滤器上的文档

http://docs.angularjs.org/api/ng/filter/filter

给出了这段代码,

    Search: <input ng-model="searchText">
    <table id="searchTextResults">
      <tr><th>Name</th><th>Phone</th></tr>
      <tr ng-repeat="friend in friends | filter:searchText">
        <td>{{friend.name}}</td>
        <td>{{friend.phone}}</td>
      </tr>
    </table>

Angular本身,使用 searchText 作为参考,它会对友元对象中的每个属性进行过滤。

此链接上的可执行代码检查:  http://plnkr.co/edit/MEAHFagGSANOENsaldCC?p=preview

同样会为您的代码搜索产品, 看看这个,为你的答案创建了一个plunker:

http://plnkr.co/edit/PcF8hfr1ch8BNn2YpxDp?p=preview