我正在尝试创建一个返回对象的Typescript函数。但是,我一直收到以下错误:
ERROR in src\app\components\model\model.component.html(3,30): : Property 'heading' does not exist on type '{}'.
我的功能如下:
getTestObject(): { [key: string]: any } {
let myObj = {};
myObj = {
'heading': 'My heading',
/* Other properties here */
};
return myObj;
}
然后我在我的html文件中使用它:{{ myObj.heading }}
。我在这里阅读答案:Typescript property does not exist on type {}并更改了以下行:
let myObj = {};
更改为:
let myObj = {} as { [key: string]: any };
但是我得到了同样的错误。我究竟做错了什么?任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
因此,您需要确保在加载组件视图时调用函数getTestObject()。
我能够使用更简单的getTestObject()函数和定义为的类成员来使用它
myObj:any = {}
这里是我的班级
export class MySampleClass{
myobj:any={};
getTestObject(){
this.myobj = {heading:'My heading'};
return this.myobj;
}
void ngOnInit() {
this.getTestObject();
}
}
这是我的模板插值
{{ myObj.heading }}
答案 1 :(得分:0)
我测试了您的代码here并且它有效。
function getTestObject(): { [key: string]: any } {
let myObj = {};
myObj = {
'heading': 'Works !!'
/* Other properties here */
};
return myObj;
}
let a = getTestObject();
console.log(a.heading);