0

私は、ソート可能で検索可能なデータのリストを処理する方法として、angular.js を試してきました。

このRailsCastを使用して開始しましたhttp://railscasts.com/episodes/405-angularjs

そして、ここでフィルターの例を調べましたhttp://docs.angularjs.org/api/ng.filter:filter

並べ替えとフィルタリングを数分で実行したときは、畏敬の念を抱きました。したがって、すべての列をフィルタリングすることで、並べ替えと検索が可能な表形式のデータを表示するための理想的なアプローチがあるようです...

「。」を使用してアドレス指定されたjsonのネストされた属性では、フィルターが機能しないように見えることに気付くまで。たとえば、クライアントにはすべて所有者がいて、その電子メール アドレスを表示し、このフィールドで並べ替えてふるいにかけたいと考えています。コードの主要部分は次のようになります。

<tbody ng-repeat="client in clients | orderBy:sort_by:reverse | filter:search">
  <tr>
     <td>{{name}}</td>
     <td>{{owner.email}}</td>
  <tr>

<input ng-model="search.name">
<input ng-model="search.owner.email">

owner.email がレンダリングされ、並べ替えは可能ですが、フィルタリングはされません。:include 関連付けごとに 1 つの属性のみを許可し、所有者のメールで search.owner フィルターなどの関連付けを検索するという回避策があります。これはハックのように感じます。これを行うための適切にエレガントな方法が必要です。それは何ですか?

4

1 に答える 1

1

上記のコメントで述べたように、おそらくカスタム フィルターを使用する必要があります。search.owner.emailカスタム フィルターは、必要なその他の基準/入力に基づいてフィルター処理できます。

于 2013-04-03T15:37:45.293 に答える