Tidak ada cara jelas yang disebutkan dalam dokumentasi dan solusi Anda akan berfungsi tetapi memang tidak terlalu elegan. Solusi pilihan saya sendiri adalah menggunakan currying di blok skrip itu sendiri.
const handleClick = (parameter) => () => {
// actual function
}
Dan dalam HTML
<button on:click={handleClick('parameter1')>
It works...
</button>
Waspadalah terhadap kari
Seperti disebutkan dalam komentar, currying memiliki jebakannya. Yang paling umum yang dalam contoh di atas handleClick('parameter1')
tidak akan dipecat ketika mengklik melainkan pada rendering, mengembalikan fungsi yang pada gilirannya akan diaktifkan onklik. Ini berarti bahwa fungsi ini akan selalu menggunakan 'parameter1' sebagai argumennya.
Oleh karena itu menggunakan metode ini hanya akan aman jika parameter yang digunakan adalah sejenis konstan dan tidak akan berubah setelah itu diberikan.
Ini akan membawa saya ke poin lain:
1) Jika parameter yang digunakan konstan, Anda juga bisa menggunakan fungsi terpisah
const handleParameter1Click = () => handleClick('parameter1');
2) Jika nilainya dinamis tetapi tersedia dalam komponen, ini masih dapat ditangani dengan fungsi mandiri:
let parameter1;
const handleParameter1Click = () => handleClick(parameter1);
3) Jika nilainya dinamis tetapi tidak tersedia dari komponen karena ini tergantung pada beberapa jenis ruang lingkup (misalnya: daftar item yang diberikan dalam blok #each) pendekatan 'hacky' akan bekerja lebih baik. Namun saya pikir akan lebih baik jika memiliki elemen-elemen daftar sebagai komponen sendiri dan kembali ke kasus # 2
Untuk menyimpulkan: kari akan bekerja dalam keadaan tertentu tetapi tidak dianjurkan kecuali Anda sangat sadar dan berhati-hati tentang cara menggunakannya.