![](/img/trans.png)
[英]TypeError: Cannot read property 'push' of undefined on generated JavaScript file by TypeScript
[英]TypeScript: TypeError: Cannot read property 'push' of undefined
我正在嘗試使用Angular 2開發應用程序。現在我遇到了一個我無法解決的問題。
數組的功能之一應該是push(object:T);
我定義了我制作的對象的數組。 但是,當我嘗試向該數組添加值時,出現以下錯誤:TypeError:無法讀取未定義的屬性“ push”。
導致此錯誤的主要原因之一是人們忘記定義其數組。 但是我正在定義它,我嘗試了多種方法,但仍然是相同的錯誤。
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);
}
});
});
}
}
您正在使用匿名function()
語法進行回調; 這句法不保留this
。 而是:
dossiers.forEach((obj, i) => { // IMPORTANT PART HERE!!!
console.log(obj);
if(obj.dossierType === Values.Visible) {
this.activeDossiers.push(obj);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.