javascript - 根据复选框输入过滤深层对象

标签 javascript angularjs filter angularjs-ng-repeat

我不确定哪里出了问题,但我的过滤器隐藏了行程对象中的所有行程。

我的对象看起来像这样(它们很大,所以我只向您展示结构):

[
    { // itinerary
         filters:{
              stops:2
         }
         ... children
    },
    {
         ... next itinerary
    }
]

我的 ngRepeat 看起来像这样

<div class="col-sm-12 item" data-ng-repeat="itinerary in results | filter: {itinerary: {filters: {stops: filterStops}}} | orderBy: orderBy" data-ng-class="{ active: resultDetails }">

我正在像这样设置我的filterStops范围项目

md-checkbox aria-label="Non-Stop" data-ng-model="filterStops" ng-true-value="0">Direct</md-checkbox>

无论是直接将停靠站数量硬编码到过滤器中,还是通过复选框选择它,在任何情况下都不会显示任何内容。没有控制台错误可言,我猜测我到达过滤器对象中的子属性的逻辑有缺陷?

我在这里不知所措,感谢任何帮助。

最佳答案

在 Controller 中创建方法

$scope.filter=function(obj){
  return obj.filters.stops == $scope.resultDetails;
}

将此添加到 View

data-ng-repeat="itinerary in results | filter: filter | orderBy: orderBy" 

关于javascript - 根据复选框输入过滤深层对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832571/

相关文章:

javascript - 收藏一定要有模型吗?

javascript - JS 和 jQuery,函数完成时全局对象变空

javascript - 如何解析 Angular 2中的 "_this is undefined"

android - 使用卡片在 RecyclerView 上添加搜索过滤器?

javascript - 处理不同对象上的 "mousedown"事件

json - 如何将 Angular 中的单个 json 数据 "values"绑定(bind)到命名 $scope 变量(使用 SPARQL 查询返回的数据)?

javascript - 从 ng-messages 中提取 ng-message key

java - 为什么在 Spring 中使用 OncePerRequestFilter?

api - Libav API : Filtering + Transconding

javascript - 单元测试工厂 Jasmine-Sinon