【发布时间】:2019-06-16 21:01:32
【问题描述】:
我正在尝试将 json 数据从后端服务加载到我的 Angular 应用程序。我想将数据加载/推送到数组中。下面是我的后端数据的样子
{ "Record":[
{
"Name":"John",
"Place":"Seattle"
},
{
"Name":"AS2",
"Place":"DC"
}]}
这是我在 typescript 中的数组模型类
export class EventMaster {
public name: string;
public cityName: string;
constructor (name: string, cityName: string){
this.cityName = cityName;
this.name = name;
}
}
这是我用来从后端获取数据并加载到数组中的打字稿代码
private eventMaster: EventMaster[] = [
new EventMaster('Loan', 'Approved' )
];
onFetchData(form: HTMLFormElement){
console.log(form);
console.log(form.value);
this.nameCity = new NameCity(form.value.name, form.value.city);
this.fetchDataService.fetchData(this.nameCity).subscribe(
(data: EventMaster[]) => {
console.log(data);
this.eventMaster.push(...data);
console.log(this.eventMaster.length);
}
);
}
这是我的 http get 调用
fetchData(nameCity: NameCity) {
return this.http.get<EventMaster[]>(this.baseURL);
}
当我尝试检查数组的长度时,它总是显示为 1 而不是 2。我做错了什么?
【问题讨论】:
-
试试这个
this.eventMaster = [...this.eventMaster, ...data];而不是推送。
标签: angular typescript