【问题标题】:Error, Reference.push failed: first argument contains undefined in property错误,Reference.push 失败:第一个参数在属性中包含未定义
【发布时间】:2018-04-26 22:20:59
【问题描述】:

我是 firebase 数据库的新手,我目前正在尝试将数据推送到我的 firebase 数据库中,但收到类似 Error: Reference.push failed: first argument contains undefined in property 'Product.prdName' 的错误

//insert data function in service.ts
insertProduct(Product: Product) {
  this.productList.push({
    prdName: Product.prdName,
    prdCat: Product.prdCat,
    prdSup: Product.prdSup,
  });
}

//onsubmit function in component.ts  
productList: Product[];

constructor(private productService: ProductService) {}

onSubmit(form: NgForm) {
  if (form.value.$key == null) {
    this.productService.insertProduct(form.value);
  } else {
    this.productService.updateProduct(form.value);
  }
  this.resetForm(form);
}

//class.ts
export class Product {
  $key: string;
  prdName: string;
  prdCat: string; //category
  prdSup: string; //supplier
}

<!--form snipped-->

<form #productForm="ngForm" (ngSubmit)="onSubmit(productForm)">
  <input type="hidden" name="$key" #$key="ngModel" [(ngModel)]="productService.selectedProduct.$key">
  
  <div class="form-group">
    <label>Product Name</label>
    <input class="form-control" name="name" #name="ngModel" [(ngModel)]="productService.selectedProduct.prdName" placeholder="Full Name">
  </div>

  <div class="form-group">
    <button type="submit" class="btn btn-primary" (onclick)="">Submit</button> 
  </div>
</form>

有人可以帮帮我吗?

如果需要更多 sn-ps,请告诉我。提前致谢。

【问题讨论】:

  • 请同时张贴模板侧面表格
  • 添加表单 sn-p

标签: angular typescript firebase


【解决方案1】:

您正在传递 onSubmit(productForm) ,因此您将获得类似

的输出
{
  $key : value of productService.selectedProduct.$key
  name : value of productService.selectedProduct.prdName
}

你能做的是

任何改变

inputname 属性值与Product 类相同,如name='name'name='prdName'

this.productService.insertProduct(form.value);

this.productService.insertProduct(this.productService.selectedProduct);

【讨论】:

    猜你喜欢
    • 2018-08-08
    • 2018-03-01
    • 2020-06-18
    • 2018-10-05
    • 2018-02-22
    • 1970-01-01
    • 2015-11-06
    • 2021-02-12
    • 2016-04-14
    相关资源
    最近更新 更多