【问题标题】:How can i filter values in angularjs?我如何过滤angularjs中的值?
【发布时间】:2017-04-07 17:35:34
【问题描述】:

大家好,我如何过滤 angularjs 中的值?

  • 我创建了 plunker 供参考:- My Plunker.

  • 我想在 ng-repeat question list page 中过滤 user categories

用户数据:-

"user": {
"_id": "58072aba0f82a61823c434df",
"displayName": "Table 1",
"dob": "2016-12-22T18:30:00.000Z",
"location": "chennai",
"religion": "hindu",
"roles": [
"admin"
],
"profileImageURL": "./modules/users/client/img/profile/uploads/ac4fbab396c2f725ed5211524f171136"
},
  • categories 值在数组中,我只需要在 ng-repeat 列表页面中过滤 categories 值....

  • 例如:- 如果user categories values "categories": [ "Religion & Culture", "Social Psychology" ], 那么这两个值只应在类别列表中过滤...

我的 HTML:-

    <div ng-repeat="question in questions | filter:user.categories ">
    <small>
                    <span >{{$index + 1}}.</span>
                      <span data-ng-bind="question.category"></span>
                  </small>

  </div>
  • 我在 ng-repeat 中使用过过滤器,例如:- | filter:user.categories

  • 我想过滤重复列表中的用户类别...

  • 请检查并更新 plunker 以了解确切的解决方案...

【问题讨论】:

  • 你想用什么来过滤你的列表?我猜你需要一些关于categories 的数据?
  • 这只是作业吗?你在这里发帖之前有什么尝试?
  • @tanmay 请查看我的 plunker 我有类似类别的用户数据,我需要在 ng-repeat 列表中过滤这些类别,请检查我的 plunker 并更新相同...谢谢.... .

标签: html angularjs meanjs


【解决方案1】:

您需要创建自定义过滤器,例如:

.filter('filterCategory', [
 function() {
  return function(questions) {
   var filteredCategories = [];
   if (questions && questions.length) {
    angular.forEach(questions, function(question) {
      console.log(question)
      if(question.user && question.user.categories && question.user.categories.length){
        angular.forEach(question.user.categories, function(category){
          if(filteredCategories.indexOf(category)<0){
            filteredCategories.push(category);
          }
        })
      }
    })
  }
   return filteredCategories;
 }
}

])

然后在 ng-repeat 你需要写:

<div ng-repeat="category in questions| filterCategory ">

【讨论】:

  • 是的,你可以查看这个 plunk:plnkr.co/edit/wM65xfwxvdGHczAmTBHg?p=preview
  • 感谢您的回答,请看我的 plunker,有三个 Religion &amp; Culture 可用,但您的 plunker 只显示一个 Religion &amp; Culture...我们需要过滤所有 Religion &amp; Culture 并需要显示Religion &amp; Culture 的数量也...请检查并帮助...谢谢
  • 对不起,你的问题对我来说不是很清楚,每个数据都有一个用户对象,然后每个用户都有一个类别数组。所以你想在列表中显示所有这些类别?我以为你想展示独特的价值观。
  • 是的,每个数据都有一个用户对象,然后每个用户都有一个类别数组,如果身份验证用户登录到门户,则经过身份验证的用户类别数组应在该列表中过滤...对于例如:- 如果"displayName": "Table 1", 这个用户登录到门户,这个特定的用户类别只需要过滤......请检查我的插件......谢谢你的帮助
  • 好的,那么你可以查看我更新的 plunk :plnkr.co/edit/wM65xfwxvdGHczAmTBHg?p=preview
【解决方案2】:

代替filter: user.categories 试试filter: question.user.categories

【讨论】:

  • 上述解决方案对我不起作用,请检查我的 plunker 并更新解决方案,谢谢...
猜你喜欢
  • 2019-09-03
  • 2016-12-29
  • 2015-06-20
  • 1970-01-01
  • 2017-11-24
  • 2017-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多