Javascript TypeScript:TypeError:无法读取属性';推动';未定义的
我想用Angular 2做一个应用程序。现在我遇到了一个我无法解决的问题 数组的函数之一应该是push(object:T) 我定义了一个我创建的对象数组。但当我尝试向该数组添加值时,我收到以下错误:TypeError:无法读取未定义的属性“push” 此错误的主要原因之一是人们忘记定义数组。但我正在定义它,我尝试了多种方法,但仍然是相同的错误Javascript TypeScript:TypeError:无法读取属性';推动';未定义的,javascript,angularjs,typescript,Javascript,Angularjs,Typescript,我想用Angular 2做一个应用程序。现在我遇到了一个我无法解决的问题 数组的函数之一应该是push(object:T) 我定义了一个我创建的对象数组。但当我尝试向该数组添加值时,我收到以下错误:TypeError:无法读取未定义的属性“push” 此错误的主要原因之一是人们忘记定义数组。但我正在定义它,我尝试了多种方法,但仍然是相同的错误 export class Home { activeDossiers: Array<Dossier> = new Array();
export class Home {
activeDossiers: Array<Dossier> = new Array();
//Also tried:
//activeDossiers: Dossier[] = [];
//activeDossiers = [];
//activeDossiers: Array<Dossier> = [];
constructor() {
var dossierApi = new DossierApi();
dossierApi.getActiveDossiers().then((dossiers) => {
dossiers.forEach(function (obj, i) {
console.log(obj);
if(obj.dossierType === Values.Visible) {
this.activeDossiers.push(obj);
}
});
});
}
}
导出类主页{
activeDossiers:Array=newarray();
//还尝试:
//活动档案:档案[]=[];
//活动档案=[];
//活动档案:数组=[];
构造函数(){
var dossierApi=新的dossierApi();
dossierApi.getActiveDossiers()。然后((档案)=>{
档案。forEach(职能(obj,i){
控制台日志(obj);
if(obj.dossierType==Values.Visible){
这个.activeDossiers.push(obj);
}
});
});
}
}
您正在使用匿名函数()
语法进行回调;此语法不保留此。相反,你应该:
dossiers.forEach((obj, i) => { // IMPORTANT PART HERE!!!
console.log(obj);
if(obj.dossierType === Values.Visible) {
this.activeDossiers.push(obj);
}
});
您正在使用匿名
函数()
语法进行回调;此语法不保留此。相反,你应该:
dossiers.forEach((obj, i) => { // IMPORTANT PART HERE!!!
console.log(obj);
if(obj.dossierType === Values.Visible) {
this.activeDossiers.push(obj);
}
});