2017-03-28 8 views
2

I가 중포 기지에서 다음과 같은 데이터베이스 :여러 개체 중포 기지

Root Categories/ID/{text:Item1 AL:Item 2 TEXT:Item 3 ...} 

나는 내가 "는 .text"또는 이전 텍스트가 하나의 원하는 항목 얻을 수있는 다음과 같은 코드가 있습니다

this.categories = af.database.list('/categories/' + this.ID); 
this.categories.subscribe(categories => console.log(categories)); 
this.categories.subscribe(
categories => { 
    categories.map(categories => 
     console.log(categories.text), 

    ) 
});' 

CONSOLE.LOG 정확히 내가 원하는 반환하지만 나는 HTML에 {{categories}}를 검색 할 때 Object 객체

누군가가 그것을 해결하는 방법을 알고 반환 파일? 내 무지 죄송합니다. 나는 초보자입니다.

+0

'categories = JSON.parse (categories)'를 지정하고'typeOf (categories) '를 사용하여'categories' 유형을 확인해보십시오. –

답변

0

{{categories}}을 인쇄하려고하면 categories이 개체 인 것 같기 때문에 예상되는 동작입니다. 이 같은 categories보고하고자한다면, 당신은 json 파이프를 추가해야 할 것 :

{{categories | json}} 

그러나 나는 당신이 원하는 것이 아닙니다 생각한다. 당신은 예를 들어, categories의 각 속성을 표시 할 속성을 사용해야합니다 categories가 배열

{{categories.text}} 

경우, 위의 코드를 무시하지만, JSON 파이프는 물론이 경우에 작동합니다. categories가 배열 인 경우 당신은 단지 몇 가지 특정 값을 선택하고 싶은 경우에, 당신은 당신이지도 안에 그것을 할 수 있습니다, 예를 들어, 당신은 각 개체에서 원하는 속성을 인쇄 한 다음 배열을 반복하고

<div *ngFor="let cat of categories"> 
    {{cat.text}} 
</div> 

필요 했어 예를 들어, 새로운 배열에 값을 할당합니다

categoriesText: string[] = []; 

this.categories.subscribe(
categories => { 
    categories.map(categories => { 
     console.log(categories.text) 
     this.categoriesText.push(categories.text); // push values to new array 
    }); 
}); 

그런 다음 당신이 그 배열을 반복 할 수

<div *ngFor="let cat of categoriesText"> 
    {{cat}} <!-- here no property name as it's only a string array --> 
</div> 

희망이 도움이! :)

+0

완벽. 내가 예상했던대로 정확하게 일했다. 고마워요. – lfelipe

+0

도와 줘서 고맙습니다. :) – Alex

관련 문제