3

목록 개체 속성을 로컬 변수와 비교하기 위해 반복 할 개체 목록을 볼 수 있습니다.관찰 할 수있는 firebase2 목록을 반복하는 방법은 무엇입니까?

템플릿의 목록에있는 개체를 반복 할 수 있지만 구성 요소 논리에서 방법을 볼 수 없습니다.

템플릿 외부에서 어떻게 처리 할 수 ​​있습니까?

이것은 작업 반복기에 지금까지 가장 가깝습니다.

constructor(af: AngularFire) { 
    this.competitors = af.database.list('/competitors'); 
} 
this.competitors.forEach(competitor) { 
    console.log(competitor); 
} 

질문이 잘못 작성된 경우 죄송합니다. 아직 Angular2 및 Firebase에 대해 아직 익숙하지 않습니다.

답변

4

Observables로 작업하고 있으며 일반 컬렉션이 아닙니다. 이것은 Observable 프리미티브를 사용해야한다는 것을 의미하며 this.competitors 이상의 단순 루핑은 작동하지 않습니다.

이이 :

this.competitors.subscribe(competitor => console.log(competitor)); 

그리고 그런데

가, 끝에 $와 Observable 인에 이름을 명명 규칙이있다, 그래서 다음과 같은 방법으로 보일 것이다

this.competitors$ = af.database.list('/competitors'); 

및 :

this.competitors$.subscribe(competitor => console.log(competitor)); 

이것은 경쟁자의 전체 배열을 기록합니다. 요소를 반복하려면 다음과 같이하십시오.

this.competitors.subscribe(
    competitors => { 
     competitors.map(competitor => 
      console.log(competitor) 
     ) 
    }); 
+0

나는 이것을 확인하고 대답을 확인하면 답변을 표시 할 것입니다. 감사. – dibs

0
this.competitors.forEach(competitor) { 
    var competitorValue = competitor.val(); 
    console.log(competitorValue); 
    competitorValue.forEach(sub){ 
     console.log(sub.val()); 
    } 
} 

이렇게하면 모든 지점을 분석 할 수 있습니다.

관련 문제