Reference.push失败:第一个参数包含属性中的undefined
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Reference.push失败:第一个参数包含属性中的undefined相关的知识,希望对你有一定的参考价值。
我试图将两个数据(itemName和itemAmout)发送到firebase数据库但是它给了我以下错误:
错误:Reference.push失败:第一个参数在属性'shoppingItem.itemName'中包含undefined
我不知道问题出在哪里。
我试图使用这个解决方案Error: Reference.push failed,但它只是在没有将数据发送到我的firebase数据库时带走了错误消息。这是我的代码:
addItem.ts:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import {ShoppingItems} from '../../models/items.interface';
import { AngularFireDatabase } from 'angularfire2/database';
import { AngularFireList } from 'angularfire2/database';
@IonicPage(
{
segment :'shoppingList/Add-Item'
}
)
@Component({
selector: 'page-add-item',
templateUrl: 'add-item.html',
})
export class AddItemPage {
shoppingItem ={} as ShoppingItems ;
shoppingListRef$ :AngularFireList<ShoppingItems>;
constructor(public navCtrl: NavController, public navParams: NavParams,
private adb:AngularFireDatabase) {
this.shoppingListRef$=adb.list('/shoppingItem');
}
addItem(shoppingItem:ShoppingItems){
this.shoppingListRef$.push({
itemName: this.shoppingItem.itemName ,
itemAmount : Number(this.shoppingItem.itemAmount)
});
//this.shoppingItem={} as ShoppingItems;
this.navCtrl.pop();
}
}
* items.interface.ts:*
export interface ShoppingItems {
itemName : string ;
itemAmount : number;
}
addItem.html:
<ion-header>
<ion-navbar color="dark">
<ion-title>Add Item</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-item>
<ion-label floating>
item name
</ion-label>
<ion-input type="text" ([ngModel])="shoppingItem.itemName"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>
item amount
</ion-label>
<ion-input type="number" ([ngModel])="shoppingItem.itemAmount"></ion-input>
</ion-item>
<button ion-button block (click)="addItem(shoppingItem)">Add item</button>
</ion-content>
答案
我永远带我去发现你的问题。它来自ngmodel。不是 ([])
<ion-item>
<ion-label floating>
item name
</ion-label>
<ion-input type="text" [(ngModel)]="shoppingItem.itemName"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>
item amount
</ion-label>
<ion-input type="number" [(ngModel)]="shoppingItem.itemAmount"></ion-input>
</ion-item>
以上是关于Reference.push失败:第一个参数包含属性中的undefined的主要内容,如果未能解决你的问题,请参考以下文章
Firebase.push 失败:第一个参数包含无效密钥 ($$hashKey)
如何修复此错误:偏移参数包含 NaN 值。 'dart:ui/painting.dart':断言失败:第 43 行:'<优化输出>'