这是一个例子:
export class cls1{
str1:string;
constructor(s:string){
this.str1 = s;
}
func1(){
return "hello " + this.str1;
}
}
export class AppComponent {
static obj2:cls1= JSON.parse(`{"str1":"efgh"}`);
AppComponent.obj2.func1(); // func1 is not a function
}
问题是函数成员对静态对象不熟悉。 我收到错误:func1不是函数
答案 0 :(得分:0)
你到底想要做什么?这看起来不像我能想到的任何用例。或者你只是搞乱,尝试打字稿的东西?一个函数如何从一个只包含一个对象的JSON.parse
调用中神奇地出现:)?
无论如何,我能想出的最接近的功能是将代码更改为:
class cls1{
str1:string;
constructor(s:string){
this.str1 = s;
}
func1(){
alert(this.str1);
}
}
class AppComponent {
static obj2:cls1= new cls1(JSON.parse('{"str1":"efgh"}').str1);
}
AppComponent.obj2.func1(); // alert: 'efgh'
让我们暂时忽略编码风格错误,并在你的路上:)