所以我对Angular2还是很陌生,并且尝试遍历http响应,这有点困难。使用以下代码:
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())
}
}
最佳答案
我认为您正在尝试使用this.members
。尝试先初始化
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")
)
}
设置
undefined
只是告诉TypeScript有一个members: Array<any>
属性,该属性应为member
类型,但是不会为您创建该属性。关于javascript - 遍历http响应Angular2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35502305/