У документації немає чіткого способу, і ваше рішення спрацює, але насправді не дуже елегантно. Моє власне переважне рішення - використовувати каррі в самому блоці скриптів .
const handleClick = (parameter) => () => {
// actual function
}
І в HTML
<button on:click={handleClick('parameter1')>
It works...
</button>
Остерігайтеся каррі
Як згадується в коментарях, каррі має свої підводні камені. Найпоширеніший з них, який у наведеному вище прикладі handleClick('parameter1')
не буде запускатися при натисканні, а при візуалізації, повертаючи функцію, яка в свою чергу буде запущена onclick. Це означає, що ця функція буде завжди використовуватиме 'параметр1' як аргумент.
Тому використання цього методу було б безпечним лише в тому випадку, якщо використаний параметр є константою певного роду і не зміниться після його надання.
Це призведе мене до іншого моменту:
1) Якщо параметр використовується константа, ви також можете використовувати окрему функцію
const handleParameter1Click = () => handleClick('parameter1');
2) Якщо значення є динамічним, але наявне в компоненті, це все ще може бути оброблено за допомогою окремої функції:
let parameter1;
const handleParameter1Click = () => handleClick(parameter1);
3) Якщо значення динамічне, але воно не доступне для компонента, оскільки це залежить від певної області застосування (наприклад: список елементів, винесених у блок #each), , підхід 'hacky' буде працювати краще. Однак я думаю, що в цьому випадку було б краще мати елементи списку як компонент і повернутися до справи №2
Підсумовуючи: при певних обставинах приготування кашлю буде працювати, але не рекомендується, якщо ви не дуже обізнані та обережні, як його використовувати.