Saya melewatkan parameter dalam v-on:input
arahan. Jika saya tidak lulus, saya bisa mengakses acara dalam metode ini. Apakah ada cara saya masih bisa mengakses acara ketika melewati parameter ke fungsi. Bukan berarti saya menggunakan vue-router:
Ini tanpa melewati parameter. Saya dapat mengakses objek acara
HTML
<input type="number" v-on:input="addToCart" min="0" placeholder="0">
Javascript
methods: {
addToCart: function (event) {
// I need to access the element by using event.target
console.log('In addToCart')
console.log(event.target)
}
}
Ini ketika melewati parameter. Saya tidak dapat mengakses objek acara
HTML
<input type="number" v-on:input="addToCart(ticket.id)" min="0" placeholder="0">
Javascript
methods: {
addToCart: function (id) {
// How can I access the element by using event
console.log('In addToCart')
console.log(id)
}
}
Berikut ini beberapa cuplikan kode, harus cukup baik untuk mereplikasi masalah yang saya alami
Property or method "event" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option
v-on:input
?$event
variabel khusus ke pemanggilan metodev-on:input="addToCart($event, num)"
$event
, bukanevent
Anda juga dapat melakukan sesuatu seperti ini ...
Evan You sendiri merekomendasikan teknik ini dalam satu posting di forum Vue. Secara umum beberapa peristiwa dapat memancarkan lebih dari satu argumen. Juga sebagai dokumentasi menyatakan variabel internal $ event dimaksudkan untuk melewati acara DOM asli.
sumber
Bergantung pada argumen apa yang perlu Anda sampaikan, terutama untuk penangan peristiwa khusus, Anda dapat melakukan sesuatu seperti ini:
<div @customEvent='(arg1) => myCallback(arg1, arg2)'>Hello!</div>
sumber