我有以下设置
$scope.array =
[
{propertyA: "test",
propertyB: {
propertyC: [true, true, false]
}
},
{propertyA: "test2"},
{propertyA: "test3"}
]
然后
<div ng-repeat="item in array| filter :{propertyB: ''} :true">
{{item.propertyA}}
</div>
所以问题是:
|filter :{propertyB: '!!'} :true
,则不显示任何内容|filter :{propertyB: undefined} :true
,它将显示所有内容我不知道。
目标:我想显示未定义
propertyB
的项目,在其他情况下,则显示相反的状态。编辑1:如果我用
angular.equals(item.propertyB, undefined)
遍历数组,我会得到false, true, true
编辑2:jsfiddle UPDATED
编辑3:我已经更新了问题
最佳答案
$scope.array =
[
{propertyA: "test", propertyB: "test2"},
{propertyA: "test2"},
{propertyA: "test3"}
];
$scope.filteredArray =[];
angular.forEach($scope.array,function(eachData){
if(angular.isUndefined(eachData.propertyB))
$scope.filteredArray.push(eachData);
});
而且
$scope.filteredArray
是您想要的数组,您可以重复使用它来绑定(bind)html。