Ich habe folgendes SetupAngularJS Filtern funktioniert nicht, wenn die Eigenschaft nicht definiert ist
$scope.array =
[
{propertyA: "test",
propertyB: {
propertyC: [true, true, false]
}
},
{propertyA: "test2"},
{propertyA: "test3"}
]
und dann
<div ng-repeat="item in array| filter :{propertyB: ''} :true">
{{item.propertyA}}
</div>
Das Problem ist also:
diese Einstellung nicht angezeigt wird alles
wenn ich zu
|filter :{propertyB: '!!'} :true
ändert es nichtsangezeigt werden, wenn ich zu
|filter :{propertyB: undefined} :true
ändern sie alles
zeigt Ich kann nicht es herausfinden.
Ziel: Ich möchte die Artikel anzeigen, die die propertyB
undefined und in anderen Fällen umgekehrt haben.
Edit 1: Wenn ich über das Array iterieren mit angular.equals(item.propertyB, undefined)
ich false, true, true
Edit 2: jsfiddle UPDATED
Bearbeiten 3: Ich habe die Frage
aktualisiert
Plese hinzufügen jsfiddle oder plunkr –
Diese Frage hier beantwortet wurde: http://stackoverflow.com/questions/25177004/ng-repeat-filter-for-where-an-attribute-is-undefined –
Nur entfernen Sie wahr und alles funktioniert mit! und !!. – Sim