【发布时间】:2017-10-20 23:27:39
【问题描述】:
我有一个打字稿类,如下所示:
export class Broker {
constructor() {
this.id = Guid.newGuid();
this.stations = new Array<Station>();
}
index: number;
id: string;
name: string;
stations: Array<Station>;
isIncomplete(): boolean { // error occurs because of this function which is undefined
if (this.name == "" || this.name == undefined)
return true;
return false;
}
}
和这个类的数组
brokers: Array<Broker>;
我从如下服务器获取经纪人
ngOnInit(): void {
this.brokers = new Array<Broker>();
this.brokerservice.getlist().then(
data => this.brokers = data as Array<Broker>,
error => this.errorMessage = <any>error);
}
getlist 在服务中返回正确的类型(代理数组),从服务器接收到的 json 如下:
var brokers = new[]
{
new
{
index = 0,
id = "097809098008",
name = "کارگزاری اول",
},
new
{
index = 0,
id = "98709-9",
name = "کارگزاری ",
},
};
isIncomplete() 函数 是一个计算函数,当我想使用 brokers 时,我无法在服务器端定义(或者至少我不知道如何)在客户端我收到错误 isIncomplete is not a function 如果我省略该函数一切正常。即使我声明了 brokers 数组的确切类型并对其进行了转换,但仍会发生错误。解决问题的最佳方法是什么(而不是定义全局函数)?
【问题讨论】:
标签: javascript json typescript casting javascript-objects