Estoy creando una tabla usando Vue.js y quiero definir un evento onClick para cada fila que pasa contactID . Aquí está el código:
<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> Al hacer clic en una fila, está llamando a addToCount() , que está funcionando. Quiero pasar item.contactID a addToCount() . ¿Alguien podría sugerir la sintaxis correcta para esto?
Simplemente use una expresión Javascript normal, sin {} ni nada necesario:
@click="addToCount(item.contactID)"si también necesita el objeto de evento:
@click="addToCount(item.contactID, $event)"Cuando usa directivas de Vue, las expresiones se evalúan en el contexto de Vue, por lo que no necesita envolver las cosas en {} .
@click es solo una abreviatura de la directiva v-on:click , por lo que se aplican las mismas reglas.
En su caso, simplemente use @click="addToCount(item.contactID)"
Tuve el mismo problema y así es como me las arreglo para pasar:
En su caso, tiene addToCount() que se llama. ahora, para transmitir un parámetro cuando el usuario hace clic, puede decir @click="addToCount(item.contactID)"
en la implementación de su función, puede recibir parámetros como:
addToCount(paramContactID){ // the paramContactID contains the value you passed into the function when you called it // you can do what you want to do with the paramContactID in here! }