所以我是 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
这是 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>
只是告诉 TypeScript 有一个 member
应为 Array
类型的属性,但它不会为您创建属性。
关于javascript - 遍历 http 响应 Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502305/