2017-04-20 16 views
9

Tôi đang tạo bảng bằng Vue.js và tôi muốn xác định sự kiện onClick cho mỗi hàng vượt qua contactID. Đây là mã:Cách chuyển tham số đến 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> 

Khi nhấp vào một hàng, nó đang gọi addToCount(), đang hoạt động. Tôi muốn vượt qua item.contactID đến addToCount(). Ai đó có thể đề xuất cú pháp chính xác cho điều này? Cảm ơn

Trả lời

13

Khi bạn đang sử dụng chỉ thị Vue, các biểu thức được đánh giá trong ngữ cảnh của Vue, do đó bạn không cần phải bọc mọi thứ trong {}.

@click chỉ là viết tắt của v-bind:click chỉ thị để áp dụng cùng một quy tắc.

Trong trường hợp của bạn, bạn chỉ cần sử dụng @click="addToCount(item.contactID)"

+0

gì nếu đối số tôi muốn vượt qua không được lặp qua và có thể khóa nhưng được mã hóa cứng như vậy 'Interview Room Green Room Bavarian Caviar Room Sky Room ' và tôi muốn sử dụng nội dung văn bản của một phần tử trong phương pháp switchRoom? –

+0

@AkinHwan Nếu nó đã được mã hóa cứng, chỉ cần gửi văn bản dưới dạng tham số '@ click =" switchRoom ('Phòng Sky') "' –

24

Chỉ cần sử dụng một biểu Javascript bình thường, không có {} hay bất cứ điều gì cần thiết:

@click="addToCount(item.contactID)" 

nếu bạn cũng cần các đối tượng sự kiện:

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

Bạn đã lưu ngày của tôi! '$ event' là thứ tôi đang tìm kiếm. : D – dani24

Các vấn đề liên quan