2016-02-19 4 views
1

Так что я очень новичок в Angular2 и пытаюсь выполнить итерацию через HTTP-ответ. С помощью следующего кода:Итерация через HTTP-ответ Angular2

ngOnInit() { 
    this._meetService.getAuth("meets/"+ this.meetId + "/participants").subscribe(
     meet => { 
     this.participants = meet.participants; 
     this.organizators = meet.organizators; 
     console.log(this.participants); 
     }, 
     error => console.log("error") 
    ) 
    } 

Я получаю значение в обоих this.participants и this.organizators, но со следующим:

ngOnInit() { 
    this._meetService.getAuth("meets/"+ this.meetId + "/participants").subscribe(
     meet => { 
     meet.participants.forEach(participant => this.members.push(participant)); 
     meet.organizators.forEach(organizator => this.members.push(organizator)); 
     console.log(this.members); 
     }, 
     error => console.log("error") 
    ) 
    } 

Я получаю сообщение об ошибке в журнале. Как это может быть ?

Здесь метод getAuth():

@Injectable() 
export class MeetService { 
    constructor(private http: Http, public api: ApiConfig, private _routeParams: RouteParams) {} 

    getAuth(path: string) { 
    var auth = this.api.headers(); 
    auth.append("X-Auth-Key", "azertyuiop..."); 
    return this.http.get(this.api.getPath(path), {headers: auth}) 
     .map(res => <any> res.json()) 
    } 

} 
+1

Какая ошибка регистрируется? – Siva

+0

сообщение об ошибке или объяснение ошибки. –

+0

также показывает код метода getAuth .. должен иметь возвращаемый объект 'наблюдаемый'. –

ответ

1

Я думаю, что вы подталкиваете к this.members, который undefined. Попробуйте инициализировать его первый

ngOnInit() { 
    this._meetService.getAuth("meets/"+ this.meetId + "/participants").subscribe(
     meet => { 
     this.members = []; 
     meet.participants.forEach(participant => this.members.push(participant)); 
     meet.organizators.forEach(organizator => this.members.push(organizator)); 
     console.log(this.members); 
     }, 
     error => console.log("error") 
    ) 
    } 

Установка members: Array<any> просто говорит машинопись, что есть member свойство, которое должно быть типа Array, он не создает свойство для вас, хотя.

Смежные вопросы