ডকুমেন্টেশনে উল্লিখিত কোনও সুস্পষ্ট উপায় নেই এবং আপনার সমাধানটি কার্যকর হবে তবে প্রকৃতপক্ষে খুব মার্জিত নয়। আমার নিজের পছন্দের সমাধান ব্যবহার করা সংবাহন মধ্যে স্ক্রিপ্ট ব্লক নিজেই।
const handleClick = (parameter) => () => {
// actual function
}
এবং এইচটিএমএল মধ্যে
<button on:click={handleClick('parameter1')>
It works...
</button>
তরকারি থেকে সাবধান থাকুন
মন্তব্যে উল্লিখিত হিসাবে, তরঙ্গকরণ এর অসুবিধা আছে। উপরের উদাহরণে সর্বাধিক সাধারণ যেটি handleClick('parameter1')
ক্লিক করার সময় বরখাস্ত করা হবে না বরং রেন্ডারিংয়ের সময়, এমন কোনও ফাংশন ফিরে আসবে যা অনক্লিক হয়ে যাবে। এর অর্থ এই যে এই ফাংশনটি সর্বদা 'প্যারামিটার 1' এর যুক্তি হিসাবে ব্যবহার করবে ।
সুতরাং এই পদ্ধতিটি ব্যবহার করা কেবল তখনই নিরাপদ হবে যদি ব্যবহৃত প্যারামিটারটি কোনও ধরণের ধ্রুবক হয় এবং একবার রেন্ডার হওয়ার পরে এটি পরিবর্তন হয় না।
এটি আমাকে অন্য একটি বিষয়ে নিয়ে আসবে:
1) যদি এটি পরামিতিটি ধ্রুবক ব্যবহৃত হয় তবে আপনি পৃথক ফাংশনটিও ব্যবহার করতে পারেন
const handleParameter1Click = () => handleClick('parameter1');
2) যদি মানটি গতিশীল তবে উপাদানটির মধ্যে পাওয়া যায় তবে এটি এখনও স্ট্যান্ডেলোন ফাংশন দিয়ে পরিচালনা করা যেতে পারে:
let parameter1;
const handleParameter1Click = () => handleClick(parameter1);
৩) মানটি যদি গতিশীল হয় তবে উপাদানটি থেকে পাওয়া যায় না কারণ এটি কোনও ধরণের স্কোপের উপর নির্ভরশীল (যেমন: একটি # ব্লকে আইটেমগুলির তালিকা দেওয়া হয়) 'হ্যাকি' পদ্ধতির আরও ভাল কাজ করবে। তবে আমি মনে করি সেই ক্ষেত্রে তালিকার উপাদানগুলির একটি উপাদান হিসাবে তাদের থাকা ভাল এবং কেস # 2 এ ফিরে আসাই ভাল
উপসংহারে: কার্য়িং নির্দিষ্ট পরিস্থিতিতে কাজ করবে তবে আপনি কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে খুব সচেতন এবং যত্নবান না হলে আপনি সুপারিশ করবেন না।