Reference.push 失败:第一个参数在属性“confirm.orderTotal”中包含未定义
Posted
技术标签:
【中文标题】Reference.push 失败:第一个参数在属性“confirm.orderTotal”中包含未定义【英文标题】:Reference.push failed: first argument contains undefined in property 'confirm.orderTotal' 【发布时间】:2018-03-01 13:40:36 【问题描述】:我在确认我的 Ionic 3
application
的待付款时遇到问题。
每当我按下我的按钮"Paid",
时,它都会生成这个error
,"Reference.push failed:
第一个参数包含属性'confirm.orderTotal'..."
中的未定义,如果我点击,我的目的是把我的挂单带到我的Firebase 中的确认table
在button.
谁能帮我解决这个错误?谢谢!
My Firebase Data
我的打字稿编码
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>
【问题讨论】:
验证是否所有字段都有值。 【参考方案1】:“您好,我的英语可能不正确,我来自巴西,正在使用谷歌翻译,抱歉。”
关于您的问题,我也遇到了同样的问题,我能够解决它。 Firebase 不接受 undefined 和 yes null 作为空形式。您应该添加“|| null”。
例如:
addConfirmItem(confirmItem: orderItem)
this.confirmItemRef$.push(
// Ordermenu: this.cart_data.getCart(),
orderTotal: this.confirmItem.orderTotal || null,
orderNumber: this.confirmItem.orderNumber || null
);
我希望我已经帮助并且也帮助了其他遇到同样问题的人。 拥抱!
【讨论】:
以上是关于Reference.push 失败:第一个参数在属性“confirm.orderTotal”中包含未定义的主要内容,如果未能解决你的问题,请参考以下文章
Firebase.push 失败:第一个参数包含无效密钥 ($$hashKey)
Vuex 操作无法正常工作。显示错误“signInWithEmailAndPassword 失败:第一个参数“email”必须是有效字符串”
使用 fscanf,将文件扫描到 C 中的结构中,但第一个参数已经失败
失败:语义异常 [错误 10014]:第 1:21 行错误的参数“stock_price_high”:
如何修复此错误:偏移参数包含 NaN 值。 'dart:ui/painting.dart':断言失败:第 43 行:'<优化输出>'