2017-04-20 16 views
9

Vue.jsを使用してテーブルを作成しています。contactIDを渡す各行に対してonClickイベントを定義します。ここでは、コードは次のとおりです。Vue @clickにパラメータを渡す方法

<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()に渡したいと思います。誰かがこれに対して正しい構文を提案できますか?ありがとう

答えて

13

Vueディレクティブを使用している場合、式はVueのコンテキストで評価されるため、{}にラップする必要はありません。

@clickは、v-bind:clickディレクティブの略語なので、同じ規則が適用されます。

お使いの場合には

、単に普通のJavaScript式を使用@click="addToCount(item.contactID)"

+0

を何私が渡したい引数が繰り返し処理されず、キーイング可能ではなく、むしろそのようにコード化されていれば 'Interview Room Green Room Bavarian Caviar Room Sky Room「 とswitchRoomメソッドのa要素のテキストコンテンツを使用したかったですか? –

+0

@AkinHwanすでにハードコーディングされている場合は、テキストをパラメータ '@ click =" switchRoom( "Sky Room")として送信してください。 " –

24

を使用し、無{}ないか、必要なもの:

@click="addToCount(item.contactID)" 

あなたもイベントオブジェクトが必要な場合:

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

あなたは私の一日を保存しました! '$ event'は私が探していたものです。 :D – dani24

関連する問題