将 Firebase Props onclick 传递给 Vue 中的方法

Posted

技术标签:

【中文标题】将 Firebase Props onclick 传递给 Vue 中的方法【英文标题】:Pass Firebase Props onclick to methods in Vue 【发布时间】:2020-04-06 15:15:52 【问题描述】:

我想将我的props.items 传递给之后在 Firebase 中更改/删除它的值的方法。我是通过@click 执行此操作的,但 Vue 不允许在方法声明中使用props.item.id。我错过了什么?

<v-data-table
      :headers="headers"
      :items="products"
      :sort-by="['description']"
      :search="search"
      :items-per-page="15"
      class="elevation-1">
  <template slot="items" slot-scope="props" >

    <td><v-chip small>props.item.id</v-chip></td>
    <td>props.item.name</td>
    <td>props.item.description</td>
    <td>props.item.price</td>
    <td>props.item.ingredients</td>
    <td>
      <v-chip small>props.item.type</v-chip>
    </td>
    <td><v-btn  @click="onDelete(props.item.id)" class="material-icons medium">delete</v-btn></td>
  </template>
</v-data-table>

以及脚本摘录:

export default 
    methods: 
       onDelete(props.item.id) 
         // ...
       
    

【问题讨论】:

onDelete(props.item.id) 不是有效的方法声明,因为参数名称不能是 props.item.id 我认为您已经在 onclick 中以 props.item.id 传递,因此您的 onDelete 上的参数将仅为 id :> 【参考方案1】:

onDelete 的方法声明无效,因为参数标识符不能是 props.item.id(即名称中不允许使用点)。 identifier 的有效字符是 Unicode 字母、$_ 或数字 (0-9)。

鉴于参数的目的,我将其重命名为itemId

methods: 
  onDelete(itemId) 
    // ...
  

【讨论】:

以上是关于将 Firebase Props onclick 传递给 Vue 中的方法的主要内容,如果未能解决你的问题,请参考以下文章

调用 this.props.message() onClick

在ReactJS中使用迭代时如何将onClick事件传递给父组件?

如何从Button的onClick侦听器中删除Firebase DataBase

如何在查询 onClick 后更新查询 props.data

如何添加onclick imageview网址以及如何从firebase更新网址

反应 onClick 事件处理程序没有触发......?