2017-01-09 9 views
0

이 2 개의 rxjs 스트림은 각도 2 구성 요소에 포함되어 있습니다. 한 목록에는 발표자가 포함되고 다른 목록에는 언어가 포함됩니다. 각 발표자는 언어 목록에있는 언어의 외래 키를 가지고 있습니다.각도 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에 없다고 말합니다. 이것은 비행기 자바 스크립트에서 얼마나 간단 했는가? : P.

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

답변

0

languageId가 []의 속성인지 어떻게 알 수 있습니까?

이 경우에는 입력이 필요하다고 생각되지만 현재 문제는 아닙니다.

찾기 기능 문제를 해결하려면 설명서 here을 살펴보십시오.

설명서에 따라이 유형에 나열된 목록이 없으므로 toArray 메서드를 사용하여 배열로 변환해야 할 수 있습니다.

이 배열에는 사용자가 찾고자하는 기능이 있어야합니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find