Angular / Typescript – Filter für undefined Properties
Dieses Snippet zeigt eine Möglichkeit, wie man per Angular-Filter aus einem Array von Objekten alle Elemente filtern kann, die ein bestimmtes Property haben / nicht haben.
Angenommen wir haben ein Typescript Objekt definiert …
export interface Item { property1: number; property2: string; }
… und im Controller ein Array dieses Objekts als Scope-Variable.
export class MyController { public static $inject = ['$scope', '$filter']; constructor( private $scope: IGeneratorChartDirectiveControllerScope, private $filter: ng.IFilterService ) { this.$scope.vm = this; this.$scope.items = [ <Item>{ property1: 1, property2: true}, <Item>{ property1: 2, property2: false}, <Item>{ property1: 3} ]; } }
Wollen wir jetzt alle Items bekommen, welche die Eigenschaft ‚property2‘ nicht haben, können wir folgenden Filter anwenden:
this.$filter('filter')(this.$scope.items, { property2: '!' }, false);
Wenn wir nur Items bekommen wollen, welche die Eigenschaft’property2′ haben, können wir folgendes machen:
this.$filter('filter')(this.$scope.items, { property2: '!!' }, false);
Ich hoffe wie immer, diese erstbeste Lösung war hilfreich.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen