当前位置: 首页 > 面试题库 >

如何使用AngularJs过滤JSON-Data?

呼延博易
2023-03-14
问题内容

我有一个包含JSON对象的数组(_users)。

{ 
  "User":
  {
    "userid":"19571",
    "status":"7",
    "active":"1",
    "lastlogin":"1339759025307",
    "Stats":
     [
       {
         "active":"1",
         "catid":"10918",
         "typeid":"71",
         "Credits":
         [
           {
             "content":"917,65",
             "active":"1",
             "type":"C7"
           },               
           {
             "content":"125,65",
             "active":"1",
             "type":"B2"
           }
         ]
       }
     ]
  }
}

1-如何仅过滤具有“活动”:“ 1”而不是“ 0”的用户

我已经尝试过这样的事情:

<div ng-repeat="user in _users | filter:active | orderBy:user.userid">
    {{user.userid}}
</div>

但无法为我正常工作。

谢谢!


问题答案:

由于您的对象模型有点复杂,因此我建议您使用自定义过滤功能:

$scope.isActive = function(user) {
    return user.User.Stats[0].active === "1";
};

然后在您的HTML中:

<div ng-repeat="user in _users | filter:isActive">
    {{user.User.userid}}
</div>

这是工作中的jsFiddle:http :
//jsfiddle.net/pkozlowski_opensource/4kzzy/3/

如果您需要更多信息,请务必查看有关过滤器的angular文档:http
:
//docs.angularjs.org/api/ng.filter
:filter



 类似资料:
  • 本文向大家介绍Angularjs中如何使用filterFilter函数过滤,包括了Angularjs中如何使用filterFilter函数过滤的使用技巧和注意事项,需要的朋友参考一下 AngularJS的filter,中文名“过滤器”是用来过滤变量的值,或者格式化输出,得到自己所期望的结果或格式的东东。AngularJS中有一个filterFilter函数用来对集合过滤,非常方便。 源代码大致如下

  • 问题内容: 我想在过滤器中向后端请求并返回请求的结果。问题是服务$ http返回一个承诺,这就是问题。 对于存在的问题,我用$超时和角度在我的小提琴的承诺: 我的小提琴 在我的过滤器中,我使用带有承诺的$ timeout,但是最终目标是使用请求http: }); 然后在我看来,我使用了我的过滤器,该过滤器假定以2秒的延迟显示“ ca marche”,但这不起作用: 您会看到过滤器不返回任何内容,并

  • 过滤器可用在任何api或者ng.$rootScoe.Scope的执行过程中,不过一般用来格式化绑定在模板中的表达式。 \{\{ expression | filter \}\} 过滤器一般在处理过程中将数据转变成新的格式。它能使用链式风格,还能接受附加参数。 你可以像下面这样使用链式风格: \{\{ expression | filter1 | filter2 \}\} 你也可以使用“:”来传

  • 问题内容: 当我用ng-repeat迭代一些数组时,我想在过滤器中使用参数 例: HTML部分: JavaScript部分: 但是我希望能够使用像 但是它不起作用。我该怎么做? 问题答案: 更新: 我想我对文档的了解并不足够,但是您绝对可以使用具有以下语法的过滤器过滤器(请参阅此小提琴)来按对象的属性过滤: 如果有帮助,这是我的原始答案: 使用过滤器过滤器将无法传递参数,但是至少可以做两件事。 1

  • 问题内容: 我正在尝试做类似的事情: AngularJs部分: 但是不知何故,它向我展示了所有物品。如何筛选(键,值)? 问题答案: Angular 过滤器只能通过angular的API应用于数组,而不能应用于对象- “从数组中选择项的子集,并将其作为新数组返回。” 您在此处有两个选择: 1)移至数组或 -2)预过滤项目,如下所示: 并在控制器上: jsfiddle :http : //jsfid

  • 我想过滤以下JSON。 我如何将映射函数与过滤器一起使用,而不是。我的想法如下。但它不起作用。 我该怎么办? 谢谢