无法读取 Angular 11 中未定义的 属性 'push'
Cannot read property 'push' of undefined in Angular 11
当我调用我的函数时抛出错误。我正在尝试通过 angular 中的 forEach 插入我的项目。下面是我试过的代码。
Ts代码
sItems: SaleProduct[];
btnSale() {
let tsale = new SaleProduct();
let tcustomerId = this.postForm.get('customer').value;
console.log(this.items);
this.items.forEach(obj => {
tsale.CustomerId = tcustomerId;
tsale.ProductId = obj.Id;
tsale.CostPrice = obj.CostPrice;
tsale.SellingPrice = obj.SellingPrice;
console.log(tsale);
console.log(this.sItems);
this.sItems.push(tsale);
});
}
sItems: SaleProduct[];
这声明了对象但没有初始化它,因此您得到错误,因为对象是 undefined
。
通过以下代码初始化:
sItems: SaleProduct[] = [];
当我调用我的函数时抛出错误。我正在尝试通过 angular 中的 forEach 插入我的项目。下面是我试过的代码。
Ts代码
sItems: SaleProduct[];
btnSale() {
let tsale = new SaleProduct();
let tcustomerId = this.postForm.get('customer').value;
console.log(this.items);
this.items.forEach(obj => {
tsale.CustomerId = tcustomerId;
tsale.ProductId = obj.Id;
tsale.CostPrice = obj.CostPrice;
tsale.SellingPrice = obj.SellingPrice;
console.log(tsale);
console.log(this.sItems);
this.sItems.push(tsale);
});
}
sItems: SaleProduct[];
这声明了对象但没有初始化它,因此您得到错误,因为对象是 undefined
。
通过以下代码初始化:
sItems: SaleProduct[] = [];