因此,我对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())
}
}
答案 0 :(得分:2)
我认为你正在推动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
类型,但它不会为你创建属性。