引用推送失败:第一个参数在属性'confirm.orderTotal'中包含未定义



我在确认我的离子3 application的待发时遇到问题。

每当我按下按钮"Paid",时,就会产生此 error"Reference.push failed:第一个参数包含属性中的不确定'confirm.orderTotal'...",我的意图是如果我单击button.

,我的意图是将我的待处理订单带到确认的table

有人可以帮我解决这个错误吗?谢谢!

我的firebase数据

我的打字稿编码

export class CashierconfirmPage {
  nav: any;
  confirmItem = {} as orderItem;
  confirmItemRef$: FirebaseListObservable<orderItem[]>
  orderItemRef$: FirebaseListObservable<any>
    constructor(public cart_data: CartData, public navCtrl: NavController, 
      public navParams: NavParams,
      private database: AngularFireDatabase,) {
      this.orderItemRef$ = this.database.list('pendingorders');
      this.confirmItemRef$ = this.database.list('confirm');
    }
    addConfirmItem(confirmItem: orderItem){
      this.confirmItemRef$.push({
        // Ordermenu: this.cart_data.getCart(),
        orderTotal: this.confirmItem.orderTotal,
        orderNumber: this.confirmItem.orderNumber
      }); 
          }
}

我的html

<ion-navbar>
    <ion-title>Pending payment orders</ion-title>
</ion-navbar>

    <h2>Ordered Items:</h2>
    <li>
        <ul *ngFor="let ordermenu of item.Ordermenu">{{ordermenu.itemName}}</ul>
    </li>
    <div>
        <input type="text" ngDefaultControl [(ngModel)]="confirmItem.orderNumber" placeholder="{{item.orderNumber}}">
    </div>
    <div>
        <input type="text" ngDefaultControl [(ngModel)]="confirmItem.orderTotal" placeholder="{{item.orderTotal}}">
    </div>
    <button (click)="addConfirmItem(confirmItem)" ion-button clear small icon-right color="dark">
        Paid
    </button>
</ion-item>

"你好,我的英语可能不正确,我来自巴西,我正在使用Goolgle Translator,对不起。"

关于您的问题,我正面临着同样的问题,我能够解决它。火箱不接受未定义的,而是无效为空形式。您应该添加" || null"。

ex:

addConfirmItem(confirmItem: orderItem){
  this.confirmItemRef$.push({
    // Ordermenu: this.cart_data.getCart(),
    orderTotal: this.confirmItem.orderTotal || null,
    orderNumber: this.confirmItem.orderNumber || null
  }); 
}

我希望我能提供帮助,并帮助其他经历同样问题的人。拥抱!

最新更新