AngularJS - 搜索过滤器嵌套数组

时间:2013-10-31 14:35:02

标签: arrays angularjs

AngularJS新手尝试将搜索过滤器限制为一个非常嵌套的数组项。这是我的输出镜头:

<div ng-controller="listController">
  <input type="text" ng-model="searchMe" />
  <table class="table">
    <tr>
        <th>Product Name</th>
        <th>Color</th>
        <th>Size</th>
        <th>Features</th>
    </tr>
    <tr ng-repeat="p in prods | filter:searchMe">
        <td>{{p.products.1.ProductName}}</td>
        <td>{{p.products.1.Color}}</td>
        <td>{{p.products.1.Size}}</td>
        <td>
          <ul ng-repeat="feats in p.features">
            <li>{{feats}}</li>
          </ul>
        </td>
    </tr>
  </table>
</div>

正确显示列表中的所有项目,包括其他功能。现在产品阵列中至少还有十几个项目,包括描述,价格等。问题是,如果我在框中搜索某些内容,它会搜索整个数组。现在我尝试将搜索输入更改为:

<input type="text" ng-model="search.products.1.ProductName" />
<input type="text" ng-model="search.p.products.1.ProductName" />
<input type="text" ng-model="search.ProductName" />

然而,只要我输入一个字符,一切都会消失。是的我还从搜索过滤器中取出了“我”(| filter:search)。如何将搜索绑定到嵌套数组中的特定项?我还需要能够按功能进行搜索,但我希望首先解决这个问题,它会引导我使用这些功能。此外,我的内容被json文件拉入,如果这有所不同。搜索功能最终也将是复选框,而不是文本输入,但我认为它应该无关紧要,我仍然需要针对特定​​项目(名称,颜色,大小等)。

思想/意见/建议吗?

1 个答案:

答案 0 :(得分:0)

我暂时的解决方案是重构json文件。也许当我对Angular的了解扩展时,我将能够再次访问。