[英]Typescript - TypeError myclass.myFunction is not a function
[英]TypeScript myFunction is not a function
我在Angular工作,遇到以下情况:
my.service.ts具有此类:
export class MyClass {
MyList: string[] = [];
MyString: string = '';
createString(): void {
this.MyList.forEach(s => {
this.MyString += s + ', ';
});
}
}
而my.component.ts这样称呼它:
myData: MyClass[] = [];
this.myService.getMyData().subscribe(res => {
myData = res;
if (myData.length > 0) {
this.myData.forEach(x => x.createString());
}
});
VS Code将createString
函数识别为MyClass
,但仍然出现错误:
错误TypeError:x.createString不是函数
有什么解释吗?
编辑 :数据来自后端,并且后端模型没有此方法。 也许是问题所在?
来自服务器的对象将只是一个简单的对象,而不是MyClass
类的实例。 您可以创建MyClass
实例,并将服务器对象中的值分配给该类的实例:
this.myService.getMyData().subscribe(res => {
myData = res.map(o => Object.assign(new MyClass(), o));
if (myData.length > 0) {
this.myData.forEach(x => x.createString());
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.