如何将参数传递给 Vue @click事件处理程序

2022-08-30 03:00:17

我正在使用 Vue 创建一个表.js并且我想为通过 的每一行定义一个事件。代码如下:onClickcontactID

<tr v-for="item in items" class="static" 
    v-bind:class="{'evenRow': item.oddeven=='1', 'oddRow': item.oddeven=='0' }"
@click="addToCount('{item.contactID}')"
>
    <td>{{item.contactName}}</td>
    <td>{{item.recipient}}</td>
</tr>   

单击一行时,它正在调用 ,该行正在工作。我想传递给 .有人能为此建议正确的语法吗?addToCount()item.contactIDaddToCount()


答案 1

只需使用普通的Javascript表达式,无需或任何必要的内容:{}

@click="addToCount(item.contactID)"

如果还需要事件对象:

@click="addToCount(item.contactID, $event)"

答案 2

当你使用 Vue 指令时,表达式是在 Vue 的上下文中计算的,所以你不需要把东西包装在 .{}

@click只是指令的简写,因此相同的规则适用。v-on:click

在您的情况下,只需使用@click="addToCount(item.contactID)"