Angularjs 角度过滤器不显示具有空属性的对象
我有一系列这样的运算符:Angularjs 角度过滤器不显示具有空属性的对象,angularjs,filter,Angularjs,Filter,我有一系列这样的运算符: [ { "id":1, "key":"55330", "name":"Macie", "operative_status":{ "id":20, "code":"100", "name_status":"viaje", "created_at":"2016-08-03T21:28:52Z" } }, {
[
{
"id":1,
"key":"55330",
"name":"Macie",
"operative_status":{
"id":20,
"code":"100",
"name_status":"viaje",
"created_at":"2016-08-03T21:28:52Z"
}
},
{
"id":2,
"key":"8439",
"name":"Darian",
"operative_status":null
},
{
"id":3,
"key":"49531",
"name":"Kaelyn",
"operative_status":null
}
]
<div ng-repeat="operator in operators | filter: { operative_status : search && {name_status: search } || '!'}">
我想用ng repeat
显示它们:
<div ng-repeat="operator in operators | filter:{ operative_status : {name_status: status}}">
如你所见,我想按状态筛选
问题在于,它不会显示操作状态为null的运算符。对于您的数据,使用模式对象作为筛选表达式将不起作用,因为对于
操作状态
属性,值为null
的项将永远不会匹配,这就是您所观察到的
您可以使用谓词函数代替筛选器表达式
例如:
$scope.filterByStatus=函数(值){
if($scope.status.length==0)返回true;
返回值.u状态&&
value.operative_status.name_status===$scope.status;
};
然后在过滤器表达式中使用它:
运算符中的运算符|筛选器:filterByStatus
对于您的数据,使用模式对象作为筛选表达式将不起作用,因为对于
操作状态
属性,值为null
的项将永远不会匹配,这是您正在观察的
您可以使用谓词函数代替筛选器表达式
例如:
$scope.filterByStatus=函数(值){
if($scope.status.length==0)返回true;
返回值.u状态&&
value.operative_status.name_status===$scope.status;
};
然后在过滤器表达式中使用它:
运算符中的运算符|筛选器:filterByStatus
要过滤
null
值,必须执行以下操作:
[
{
"id":1,
"key":"55330",
"name":"Macie",
"operative_status":{
"id":20,
"code":"100",
"name_status":"viaje",
"created_at":"2016-08-03T21:28:52Z"
}
},
{
"id":2,
"key":"8439",
"name":"Darian",
"operative_status":null
},
{
"id":3,
"key":"49531",
"name":"Kaelyn",
"operative_status":null
}
]
<div ng-repeat="operator in operators | filter: { operative_status : search && {name_status: search } || '!'}">
要过滤null
值,必须执行以下操作:
[
{
"id":1,
"key":"55330",
"name":"Macie",
"operative_status":{
"id":20,
"code":"100",
"name_status":"viaje",
"created_at":"2016-08-03T21:28:52Z"
}
},
{
"id":2,
"key":"8439",
"name":"Darian",
"operative_status":null
},
{
"id":3,
"key":"49531",
"name":"Kaelyn",
"operative_status":null
}
]
<div ng-repeat="operator in operators | filter: { operative_status : search && {name_status: search } || '!'}">
什么是name\u status
?操作状态的属性什么是name\u status
?操作状态的属性谢谢,如果($scope.status.length==0)返回true,如果我更改此行,则此操作有效;如果($scope.status==undefined)返回true,那么如果($scope.status.length==0)更改这一行,则此操作有效;如果($scope.status===undefined),则返回此选项。