【发布时间】:2018-05-06 15:04:47
【问题描述】:
这是我的以下代码:
private convertFormat(src: Array<any>): void {
for (let i of src) {
this.selectedMonths.push({
id: i,
itemName: i
})
};
this.selectedMonths = JSON.parse(JSON.stringify(this.selectedMonths));
console.log(this.selectedMonths);
}
但是,当我尝试推入已声明的 Array 时,“.push()”却给了我这个错误。
未处理的承诺拒绝:无法读取未定义的属性“推送” ;区域:;任务:Promise.then;值:TypeError:无法读取 未定义的属性“推送”
【问题讨论】:
-
selectedMonths : any[] = []在组件类或ngOnInitthis.selectedMonths = []; -
我看不到你的整个代码,但你可以试试这个:private convertFormat = (src: Array
): void => {...} 也许它不是'this'的问题你的类的实例 -
@Z.Bagley 我在问题中提到我已将其声明为“Array”
-
@DrNio 谢谢!有效!我将其声明为 'selectedMonth: Array' 但我应该将其设为 ' selectedMonth: Array = []'
-
或者你可以像
selectedMonths = new Array<{}>()一样声明它。
标签: javascript angular typescript push