使用Javascript-Vuejs删除firebase中的记录

使用Javascript-Vuejs删除firebase中的记录,javascript,firebase,vue.js,Javascript,Firebase,Vue.js,我能够在Firebase DB中显示我的产品记录中的所有数据,我现在想要的是删除我选择的某个记录 我有一些Firebase的文档,但我对VueJs不太在行,尽管我认为这更像是一个JavaScript问题 单击删除链接时,我在控制台上看到的是: 错误:Firebase.child失败:第一个参数是无效路径: 未定义。路径必须是非空字符串,并且不能包含。, ,$,[或] 这是我的密码: <template> <tbody v-for="(key, value, index) in

我能够在Firebase DB中显示我的产品记录中的所有数据,我现在想要的是删除我选择的某个记录

我有一些Firebase的文档,但我对VueJs不太在行,尽管我认为这更像是一个JavaScript问题

单击删除链接时,我在控制台上看到的是:

错误:Firebase.child失败:第一个参数是无效路径: 未定义。路径必须是非空字符串,并且不能包含。, ,$,[或]

这是我的密码:

<template>
<tbody v-for="(key, value, index) in products">
    <tr v-for="k, val in key">
        <td>{{ k.name }}</td>
        <td>{{ k.description }}</td>
        <td>{{ k.oldPrice }}</td>
        <td>{{ k.price }}</td>
        <td>{{ k.prodId }}</td>
        <td>{{ k.sellerName }}</td>
        <td><span class="glyphicon glyphicon-trash btn-delete-style" v-on:click="removeProduct(k)" title="Delete Product"></span></td>
    </tr>
</tbody>
</template>

<script>
removeProduct: function (product) {
  console.log("Product:" + product);
  productsRef.child(product['.key']).remove();
  toastr.success("Product deleted successfully");
}
</script>
下面您可以看到我的数据库:


非常感谢您的帮助。

我认为您应该从prodid获取产品id

productsRef.child(product['prodid']).remove()

您需要首先引用该记录,然后调用remove函数,下面是一个示例:

<template>
  <tbody v-for="(key, value, index) in products">
      <tr v-for="k, val in key">
          <td>{{ k.name }}</td>
          <td>{{ k.description }}</td>
          <td>{{ k.oldPrice }}</td>
          <td>{{ k.price }}</td>
          <td>{{ k.prodId }}</td>
          <td>{{ k.sellerName }}</td>
          <td><span class="glyphicon glyphicon-trash btn-delete-style" v-on:click="removeProduct(k, k.sellerId, k.prodId)" title="Delete Product"></span></td>
      </tr>
  </tbody>
</template>
<script>
  removeProduct: function (product, sellerID, prodId) {
    var currentRef = db.ref('products/' + sellerID + '/' + prodId);
    currentRef.remove();
    toastr.success("Product deleted successfully");
  }
</script>

产品['.key']中的值是多少?I get undefinedI无法使用该键获取记录。您应该使用$key。我不太了解vue.js,但看起来您正在向产品[]传递一个字符串,也就是说,它是未定义的。因此,首先尝试确保此productsRef.childproduct['.key'].remove;通过传入一个硬编码密钥,实际上是有效的。如果这样做有效,请找出如何获取密钥并将其传递给同一个表达式。就是这样,谢谢