0
저는 각도 j에서 다소 새로운 것으로, 서비스에서 구성 요소로 필터링 된 데이터를 반환하고자했습니다.각도 2는 서비스에서 필터링 된 데이터를 반환합니다.
이것은 내 JSON 모습이 좋아
{
"emails": [
{
"list": [
{
"id": 1,
"subject": "Test Subject 1"
},
{
"id": 2,
"subject": "Test Subject 2"
}]
},
{
"list": [
{
"id": 3,
"subject": "Test Subject 3"
},
{
"id": 4,
"subject": "Test Subject 4"
}]
}
]
}
이 내 서비스
export class EmailService {
emails: any
constructor(private http: Http) {}
getEmailItem(id: number | string) {
return this.http
.get('../../../assets/js/data/email-list.json')
.map(data => {data.json(); return data.json();});
}
} 나는 다음과 같이 데이터를 반환 할
, 내가 어떻게해야합니까이다 ?
{ "id": 1, "subject": "Test Subject 1" },
모든 가이드는 감사하겠습니다은 당신이 당신의 JSON을 flatout 다음 필터를 적용 할 수 있습니다 당신이 도움이
getEmailItem(id: number | string) {
let flatData = [];
return this.http
.get('../../../assets/js/data/email-list.json')
.map(data => {data.json(); return data.json();})
.map(this.flatEmailList)
.filter(email => email.id == id);
}
flatEmailList(data){
let flatData = [];
data.emails.map(emails => flatData = flatData.concat(emails.list));
return flatData;
}
희망을
안녕하세요, 귀하의 답변을 주셔서 감사합니다, 내가 원하는 데이터를 반환하지만 오류가 발생했습니다 : 속성 'ID'유형 'any []'에 존재하지 않습니다. –