无法读取 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[] = [];