2017-01-09 3 views
0

これらの2つのrxjsストリームはAngular 2コンポーネントにあります。 1つのリストはスピーカーを含み、他のリストは言語を含む。各スピーカーには、言語リストにある言語の外部キーがあります。角度2コンポーネントで印刷するrxjsストリームから単一の値をフィルタリングする方法

speakers: FirebaseListObservable<any[]>; 
languages: FirebaseListObservable<any[]>; 

今私は*ngForに各スピーカーに対して、言語名を印刷したり、私はあなたの事は、私は、各スピーカーのhtmlタグに印刷したいものの角度表現を与えるようにしたいです。

<p>{{speaker.Name}} , {{speaker.Language_Id}}, {{speaker.getLanguage()}}, {{getLanguage(speaker.Language_Id)}}</p>

私はspeaker.getLanguage()getLanguage(speaker.Language_Id)を使用して、どちらが優れていてどちらも可能であることを知りましたか?

TypeScriptコードでクライアント側で型を定義していません。私はする必要がありますか?

コンポーネントで関数を作成しようとしましたが、findがタイプFirebaseListObservableに存在しません。これは飛行機のjavascript :-Pでどのようにシンプルなのですか?

getLanguage(languageId: number):string{ 
    return this.languages.find(x=>x.Id==languageId). 
} 

答えて

0

どのようにlanguageIdが[]のプロパティであることがわかっていますか?

この場合、入力が必要かもしれないと思われますが、現在の問題には該当しません。

find関数の問題に対処するには、ドキュメントhereを参照してください。

この種類のドキュメントに記載されている検索はありません。toArrayメソッドを使用して配列に変換する必要があります。

この配列には、その後の検索機能が必要です。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

関連する問題