Angular 尝试推送数据时未定义数组的角度2抛出错误
我正在使用Angular2组件,在该组件中,我声明了字符串数组并同时初始化,在该组件中,我尝试推送数据的方法之一,但得到了未定义的错误,不确定我缺少了什么Angular 尝试推送数据时未定义数组的角度2抛出错误,angular,typescript,Angular,Typescript,我正在使用Angular2组件,在该组件中,我声明了字符串数组并同时初始化,在该组件中,我尝试推送数据的方法之一,但得到了未定义的错误,不确定我缺少了什么 export class MyComponent implements OnInit { public categoryData: string[] = []; ngOnInit(): void { } public loadDataFromServer() { let MyServe
export class MyComponent implements OnInit {
public categoryData: string[] = [];
ngOnInit(): void {
}
public loadDataFromServer() {
let MyServerData = result.data;
MyServerData.forEach(function (item) {
this.categoryData.push(item.BarTitle); // error here
});
}
}
错误
您必须使用箭头函数,否则将失去使用
函数
关键字创建的新匿名函数的此
上下文:
MyServerData.forEach((item) => {
this.categoryData.push(item.BarTitle); // no error here
});
您必须使用箭头函数,否则将失去使用
函数
关键字创建的新匿名函数的此
上下文:
MyServerData.forEach((item) => {
this.categoryData.push(item.BarTitle); // no error here
});
使用此代码,它将工作:
导出类MyComponent实现OnInit{
公共类别数据:字符串[]=[];
ngOnInit():void{
}
公共loadDataFromServer(){
让MyServerData=result.data;
const crntData=此;
MyServerData.forEach(函数(项){
crntData.categoryData.push(item.BarTitle);//此处出错
});
});
}
使用此代码它将起作用:
导出类MyComponent实现OnInit{
公共类别数据:字符串[]=[];
ngOnInit():void{
}
公共loadDataFromServer(){
让MyServerData=result.data;
const crntData=此;
MyServerData.forEach(函数(项){
crntData.categoryData.push(item.BarTitle);//此处出错
});
});
}
初始化数组:categoryData=[]
尝试一个箭头函数:MyServerData.forEach(item=>{…})
我相信categoryData:string[]=[];通过执行=[]是否如此?没有仍然错误………在初始化数组时:categoryData=[]
尝试一个箭头函数:MyServerData.forEach(item=>{…})
我相信categoryData:string[]=[];通过这样做=[]这样还是不这样?没有仍然错误………没有。。。还有error@khurram这可能是因为你没有正确地复制我的答案,并且仍然在forEach
callback中使用function
关键字。无论如何,这个问题已经在Angular论坛上被问过很多次了。这是最终的重复问题。@ConnorsFan yep,也很难搜索,因为错误总是不同的:)不。。。还有error@khurram这可能是因为你没有正确地复制我的答案,并且仍然在forEach
callback中使用function
关键字。无论如何,这个问题已经在Angular论坛上被问过很多次了。这是一个最终的重复问题。@ConnorsFan yep,也很难搜索,因为错误总是不同的:)这很有效。。。谢谢我不知道为什么有人给你打负面分数@库拉姆因为今年不是2014年,所以他获得了反对票……这起作用了。。。谢谢我不知道为什么有人给你打负面分数@khurram因为今年不是2014年,他获得了反对票。。。。