2017-04-20 19 views
9

पर पैरामीटर कैसे पास करें I Vue.js का उपयोग करके एक तालिका बना रहा हूं और मैं contactID पास करने वाली प्रत्येक पंक्ति के लिए ऑनक्लिक ईवेंट को परिभाषित करना चाहता हूं।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.contactID से addToCount() पास करना चाहता हूं। क्या कोई इस के लिए सही वाक्यविन्यास सुझा सकता है? धन्यवाद

उत्तर

13

जब आप वू निर्देशों का उपयोग कर रहे हैं, तो अभिव्यक्ति का मूल्यांकन वू के संदर्भ में किया जाता है, इसलिए आपको {} में चीजों को लपेटने की आवश्यकता नहीं है।

@clickv-bind:click निर्देश के लिए सिर्फ लघुरूप है, इसलिए एक ही नियम लागू होते हैं।

आपके मामले में, बस @click="addToCount(item.contactID)"

+0

क्या अगर मैं जिस तर्क को पास करना चाहता हूं उसे पुनरावर्तित नहीं किया जाता है और इसके बजाय 'Interview Room के रूप में कोडित किया जाता है Bavarian Caviar Room Sky Room ' और मैं switchRoom विधि में किसी तत्व की टेक्स्ट सामग्री का उपयोग करना चाहता था? –

+0

@AkinHwan यदि यह पहले से ही कड़ी कोडित है, तो बस पाठ को '@ क्लिक = "स्विचरूम (' स्काई रूम ')" ' –

24

का उपयोग बस एक सामान्य जावास्क्रिप्ट अभिव्यक्ति का उपयोग, कोई {} या आवश्यक कुछ भी:

@click="addToCount(item.contactID)" 

आप भी घटना वस्तु की जरूरत है:

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

" के रूप में भेजें, आपने अपना दिन बचाया! '$ event' वह है जिसे मैं ढूंढ रहा था। : डी – dani24