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

vue.js Vue.js

乐米亚

2020-03-10

我正在使用Vue.js创建一个表,我想onClick为每条通过的行定义一个事件contactID这是代码:

<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()有人可以为此建议正确的语法吗?

第494篇《如何将参数传递给Vue \`click事件处理程序》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
理查德Near 2020.03.10

只需使用正常的Javascript表达式即可,无需使用{}或执行任何必要操作:

@click="addToCount(item.contactID)"

如果您还需要事件对象:

@click="addToCount(item.contactID, $event)"
樱小胖Mandy 2020.03.10

使用Vue指令时,表达式是在Vue的上下文中求值的,因此您无需将内容包装在中{}

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

就您而言,只需使用 @click="addToCount(item.contactID)"

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android