我有一个有两个简单数字的对象,然后是一个对象列表:
export class Lineup {
players: Player[];
fantasypoints: number;
salary: number;
constructor(values: Object = {}) {
Object.assign(this, values);
}
}
我点击了一个服务来填充一个帖子(我添加了一些玩家并从中得到了一个阵容:
public postLineup(players): Observable < Lineup > {
return this.http.post <Lineup>(`${API_URL}/optimize`, JSON.stringify(players));
}
这篇文章返回的数据很好,据我所知,它将正确地将JSON填充到Lineup对象中。
onClickOptimize() {
this.apiService.postLineup(this.playerSource.data)
.subscribe(lineupreturned => {
this.lineupSource = new MatTableDataSource(lineupreturned.players);
this.salary = lineupreturned.salary;
this.fantasypoints = lineupreturned.fantasypoints;
this.displaylineup = true;
console.log("component output:"), console.log(lineupreturned);
});
}
这个
console.log
属于
lineupreturned
实际上显示了一个对象并填充了它。但是,如果你要记录
this.salary
undefined
. 我一辈子都不明白为什么这些变量都没有被填充。
null: Array(1) [Object]
length: 1
__proto__: Array(0) [, â¦]
0: Object {fantasypoints: 324.15, players: Array(8), salary: 48800}
fantasypoints: 324.15
players: Array(8) [Object, Object, Object, â¦]
length: 8
__proto__: Array(0) [, â¦]
0: Object {_max_exposure: null, _projected_ownership: null, first_name: "Ray", â¦}
1: Object {_max_exposure: null, _projected_ownership: null, first_name: "Clearlove", â¦}
2: Object {_max_exposure: null, _projected_ownership: null, first_name: "Scout", â¦}
3: Object {_max_exposure: null, _projected_ownership: null, first_name: "Hope", â¦}
4: Object {_max_exposure: null, _projected_ownership: null, first_name: "Meiko", â¦}
5: Object {_max_exposure: null, _projected_ownership: null, first_name: "SnowFlower", â¦}
6: Object {_max_exposure: null, _projected_ownership: null, first_name: "Arce", â¦}
7: Object {_max_exposure: null, _projected_ownership: null, first_name: "Infinity eSports", â¦}
salary: 48800
__proto__: Object {constructor: , __defineGetter__: , __defineSetter__: , â¦}