Javascript angularjs仅在选中复选框时应用自定义筛选器

Javascript angularjs仅在选中复选框时应用自定义筛选器,javascript,angularjs,html,angularjs-filter,Javascript,Angularjs,Html,Angularjs Filter,这是我的控制器: app.controller('listdata', function($scope, $http) { $scope.users = [{ "name": "pravin", "queue": [{ "number": "456", "status": "Unavailable" }], "phone": "7411173737" }, { "name": "pratik", "queue": [

这是我的控制器:

app.controller('listdata', function($scope, $http) {
$scope.users = [{
    "name": "pravin",
    "queue": [{
        "number": "456",
        "status": "Unavailable"
    }],
    "phone": "7411173737"
},
{
    "name": "pratik",
    "queue": [{
        "number": "111",
        "status": "Unavailable"
    }],
    "phone": "8558855858"
},
{
    "name": "priyanka",
    "queue": [{
        "number": "111",
        "status": "Unavailable"
    }],
    "phone": "5454573737"
},
{
    "name": "prerana",
    "queue": [{
        "number": "111",
        "status": "Unavailable"
    }],
    "phone": "7454543737"
}];

  $scope.filter111 = function (user) {
            return (user.queue.find(({number}) => number === '111'));
        }
});
这是我的观点:

<label class="switch">
  <input ng-true-value='111' ng-false-value='' type="checkbox" ng-model="queue111">111
</label>

<div class="row" ng-controller="listdata">
    <div ng-repeat="user in users|filter:queue111">
       <p> {{user.name}} {{user.phone}}</p>
    </div>
</div>
但它不是这样工作的。
如何实现这一点?

我通过在过滤器中使用三元运算符修复了它:

var-app=angular.module('myApp',[]);
app.controller('listdata',函数($scope,$http){
$scope.users=[{
“姓名”:“普拉文”,
“队列”:[{
“编号”:“456”,
“状态”:“不可用”
}],
“电话”:“7411173737”
},
{
“名称”:“pratik”,
“队列”:[{
“编号”:“111”,
“状态”:“不可用”
},
{
“编号”:“112”,
“状态”:“不可用”
}],
“电话”:“8558855858”
},
{
“姓名”:“普里扬卡”,
“队列”:[{
“编号”:“111”,
“状态”:“不可用”
}],
“电话”:“54573737”
},
{
“名称”:“prerana”,
“队列”:[{
“编号”:“111”,
“状态”:“不可用”
}],
“电话”:“74543737”
}];
$scope.filter111=函数(用户){
return(user.queue.find(({number})=>number==='111');
}
});

111
{{user.name}{{user.phone}


ng repeat=“user in users | filter:{name:queue111”}
这会执行filter111函数吗?不要使用自定义筛选器,我建议使用精确匹配,
ng repeat=“user in users | filter:{name:queue111”}:true
不适用于我。因为我只想显示队列号为111的对象
<input ng-true-value="'filter111'" ng-false-value='' type="checkbox" ng-model="queue111">111