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 关联只允许一个属性并在关联上进行搜索,例如所有者电子邮件上的 search.owner 过滤器,因为这就是我允许进入 json 的全部内容。这感觉就像一个黑客。必须有适当的优雅方式来做到这一点。它是什么?

4

1 回答 1

1

正如上面评论中提到的,您可能必须使用自定义过滤器。自定义过滤器可以根据search.owner.email或您想要的任何其他标准/输入进行过滤。

于 2013-04-03T15:37:45.293 回答