刚用tns创建了一个tns项目,创建了myapp--ng,并需要文档中描述的httpmodule--gt;我从远程服务器的json中获取数据,一切正常。
但是:
出于某种原因,返回数组的第一个元素是以下对象,因此稍后会产生错误:
JS: ==== object dump start ====
JS: 0: {
JS: "__zone_symbol__state": null,
JS: "__zone_symbol__value": []
JS: }
JS: 1: {
JS: "id": 1,
等等。
我的服务如下(item.service.ts):
import { Injectable } from "@angular/core";
import { Item } from "./item";
const httpModule = require("http");
@Injectable()
export class ItemService {
private items = new Array<Item>(
httpModule.request({
url: "https://www.example.com/data.json",
method: "GET"
}).then((response) => {
var obj = response.content.toJSON();
for (let i=0; i<obj.length; i++) {
//console.log(obj[i]);
this.items.push(new Item(obj[i].id, obj[i].name, obj[i].role, obj[i].vereine, obj[i].testAufgaben));
//console.log("items object testaufgaben: "+this.items[i].testAufgaben)
console.dir(this.items);
}
//console.log(obj);
}, (e) => {
console.log(e);
})
);
getItems(): Item[] {
return this.items;
}
getItem(id: number): Item {
return this.items.filter(item => item.id === id)[0];
}
}
我导入的模型如下(item.ts):
export class Slot {
constructor(
public slot: string,
public fillIn: boolean
) {}
}
export class Aufgabe {
constructor(
public aufgabe: string,
public aufgabeSlots: Array<Slot>
) {}
}
export class Item {
constructor(
public id: number,
public name: string,
public role: string,
public vereine: Array<string>,
public testAufgaben: Array<Aufgabe>
) {}
}
任何人都知道这个错误消息是什么,我能做些什么来避免它?
提前多谢。