我在确认我的Ionic 3
application
的待付款方面遇到了问题。
每当我按下我的按钮"Paid",
它产生这个error
,"Reference.push failed:
第一个参数包含未定义的属性'confirm.orderTotal'..."
我的意图是将我的挂单带到我的Firebase中的确认table
如果我点击button.
任何人都可以帮我解决这个错误吗?谢谢!
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
});
}
}
<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翻译,对不起。”
关于你的问题,我面对同样的问题,我能够解决它。 Firebase不接受undefined,并且null为空表单。你应该添加“|| null”。
例如:
addConfirmItem(confirmItem: orderItem){
this.confirmItemRef$.push({
// Ordermenu: this.cart_data.getCart(),
orderTotal: this.confirmItem.orderTotal || null,
orderNumber: this.confirmItem.orderNumber || null
});
}
我希望我能帮助并帮助其他经历同样问题的人。拥抱!