繁体   English   中英

angularjs过滤具有不同哈希码的对象的搜索

[英]angularjs filter search on objects with different hashcode

好的,标题有点长了,但让我从一个解释开始:

我有一个服务叫做:

divisionService

从这个我有一个函数,它返回系统中所有Divisions的列表。

我正在使用此列表填充select

   <select class="form-control input-sm" ng-model="search.division.name"
                            ng-options="item as item.name for item in auoCtrl.divisionList">
                        <option value="">Alle</option>
   </select>

然后我有一个选择我的用户的HTTP请求(加上一些额外的统计信息)

    $http.get(api.getUrl('getUserStats', null))
    .success(function (response) {
        auoc.users = response;
    });

响应可能如下所示:

[Object, Object, Object, Object, Object]

每个对象如下所示:

object = {
avg_score : 5
completed_modules:
user: object{
          division: object{id: 19, location_id: 5, name: "Udvikling", organization_id: 1
            },
division_id: 19
id: 1
image_path: "img/profileIcon.png"
     }
}

我希望您可以阅读上面的内容,该用户对象中有很多数据。

现在,我希望绑定我的select ,以按其division对象对用户列表进行排序。 所以我认为这将是ng-model="search.division" ,然后再重复一次:

 ng-repeat="user in auoCtrl.users | filter: search"

可悲的是,在更改select值时,所有内容都被隐藏了

所以我想我的问题是。 在此示例中,如何搜索除法? :s

根据提供的代码以及对问题的理解,我创建了一个简单的Plunker ,它可以对部门名称进行过滤。

复杂性来自用户的嵌套性质及其划分。 这意味着在应用过滤器时,需要“迭代”遍历可用属性以对所需过滤器进行过滤。

在这种情况下,我已根据所选部门名称过滤了用户。

  <ul>
    <li ng-repeat="user in auoCtrl.users | 
              filter: {user: {division:{name:auoCtrl.selectedDivision.name}}}">
      {{user.user.division.name}}
      <br />{{user | json}}</li>
  </ul>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM