Angularjs 基于嵌套布尔数组的角度滤波器
我试图找到一种基于嵌套数组中的布尔值的点击过滤的好方法 我当前的作用域如下所示Angularjs 基于嵌套布尔数组的角度滤波器,angularjs,angularjs-filter,Angularjs,Angularjs Filter,我试图找到一种基于嵌套数组中的布尔值的点击过滤的好方法 我当前的作用域如下所示 $scope.persons = [ { firstName : 'Drew', lastName : 'Minns', views : [ { name : 'View 1', support : true }, { name : 'View 2', support
$scope.persons = [
{
firstName : 'Drew',
lastName : 'Minns',
views : [
{
name : 'View 1',
support : true
},
{
name : 'View 2',
support : false
}
],
},
{
firstName : 'Peter',
lastName : 'Parker',
views : [
{
name : 'View 1',
support : false
},
{
name : 'View 2',
support : false
}
],
}
];
我希望添加一个过滤器,根据每个视图对象的布尔值进行排序。我遇到的问题是,如果不遍历每个数组,就无法访问该值。这样做会使访问每个单独的值而不引用数组号变得困难
我想根据特定的“视图”对象在“支持”字段中是否为true或false来隐藏父对象
同样,我希望在单击时执行此操作,因此我们的想法是单击“视图1”的按钮,只有那些具有真正支持值的父对象才会显示。每个“视图”都有多个按钮,因此我希望提供基于视图支持的向下钻取操作
这里有一个plunkr您可以使用Angular JS的“Filter”函数来实现这一点。Plunkr示例,以及下面的相关更改
编辑:为了满足您的需要,我快速定制了一个过滤器:没错,但我希望每个“视图”都有一个过滤器。所以它不会隐藏视图,而是隐藏一般人。明白了。这有点棘手——您需要编写一个自定义过滤器来迭代内部的数组。这不是你可以用base AngularJSI来避免的,我已经用定制过滤器的概要进行了更新,以满足你的需要。使用搜索词更新$scope.searchName。您还可以为$scope.searchName创建一个数组,并更新该函数以对其进行迭代。
<ul ng-repeat="view in person.views | filter:{ support: true }">