我的cuisines
文件中有一个名为component.ts
的变量,其声明如下:
component.ts
export class xyzComponent implements OnInit {
constructor(private route:Router,private activateRoute:ActivatedRoute,private http:HttpService) {
}
cuisines:any = {};
ngOnInit() {
this.activateRoute.paramMap.subscribe(params => {
this.http.getResortByName(params.get('resort')).subscribe(dataRes => {
console.log(params.get('resort'));
this.resort = dataRes[0];
Object.keys(this.resort.food).forEach(function(key){
this.cuisines.push({name : key, cost: parseInt(this.resort.food[key]) });
})
})
})
}
当我尝试从cuisines
内部访问ngOnInit()
时
TypeError: Cannot read property 'cuisines' of undefined
错误。我尝试了几件事,但似乎没有任何效果。
我移动了cuisines
的声明,删除了this
,尝试了一些其他操作,但是没有任何作用。
有人可以帮我吗?
答案 0 :(得分:1)
我首先将以下内容定义为数组。
public cuisines:any = [];
然后像这样利用数组函数。
Object.keys(this.resort.food).forEach((key) =>
{
this.cuisines.push({ name : key, cost: parseInt(this.resort.food[key])});
});