2016-08-24 10 views
1

私は私のAPIから情報を得て、それをメモリに保存し、次に提示する簡単なアプリケーションを持っています。Observable ArrayをAngular 2.0でフィルタリングする方法は?

私の主なコンポーネントコード:

export class AppComponent implements OnInit { 
builds$: Observable<BuildInfo[]>; 
ngOnInit(): void { 
    this.builds$ = this.buildService.builds$; 
    this.buildService.loadAll(); 
    ... 
}} 

テンプレートコード:

.dashboard 
.mobile 
    .build(*ngFor="let build of (builds$ | async | buildsByGroupFilter:'mobile')") 
    | {{build.baseInfo.id}} - {{build.baseInfo.name}} - {{build.status}} 

buildsByGroupFilterパイプ:

export class BuildsByGroupFilterPipe implements PipeTransform { 
transform(items: BuildInfo[], arg: string) { 
    return items.filter(item => item.baseInfo.group === arg); 
} 

私はアプリケーションを実行すると、私はそれが不可能であることをエラーが発生します定義されていないオブジェクトに対して変換を実行します。私は自分のサービスからデータを待つパイプを作る方法を知らず、それを変換して、「モバイル」としてマークされたビルドだけを残します。

誰かにアイデアはありますか?

答えて

0

これは、あなたが欲しいものを行う必要があります。 元の例外:例外TypeError:プロパティを取得できません「フィルタ

(builds$ | async) | buildsByGroupFilter:'mobile' 

をあなたはまた、パイプにnullに同じエラーを取得し

transform(items: BuildInfo[], arg: string) { 
    if(items) { 
     return items.filter(item => item.baseInfo.group === arg); 
    } 
} 
+0

をチェックする必要があります'は未定義またはnull参照 –

関連する問題