1

検索フィルターを非常にネストされた 1 つの配列項目に制限しようとする 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>

追加機能を含め、リスト内のすべての項目が正しく表示されます。製品配列には、説明、価格などを含む、少なくとも 12 個の項目があります。問題は、ボックス内の何かを検索すると、配列全体が検索されることです。今、私は検索入力を次のように変更しようとしました:

<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" />

ただし、1文字入力するとすぐにすべてが消えます。はい、検索フィルター (| filter:search) からも「me」を削除しました。ネストされた配列内の特定のアイテムに検索をバインドするにはどうすればよいですか? 機能で検索できるようにする必要もありますが、最初にこれを解決することで、機能につながることを願っています。また、違いがある場合、私のコンテンツはjsonファイルによって取り込まれています。検索機能も最終的にはテキスト入力ではなくチェックボックスになりますが、それは問題ではないと思います。特定のアイテム (名前、色、サイズなど) をターゲットにする必要があります。

考え/アイデア/提案?

4

1 に答える 1

0

当面の私の解決策は、json ファイルを再構築することです。Angular についての知識が増えたら、再訪できるかもしれません。

于 2013-10-31T15:50:11.380 に答える