Riot.js তে if নির্দেশনা ব্যবহার করা হয় UI-তে একটি শর্তাধীন ব্লক রেন্ডার করতে। Riot.js-এ, এটি if নির্দেশনা ও else ব্লক দিয়ে UI-তে শর্ত অনুযায়ী এলিমেন্টের প্রদর্শন নিয়ন্ত্রণ করা যায়।
১. Basic if Conditional Rendering
Riot.js-এ if নির্দেশনা ব্যবহার করার জন্য, {#if condition} এবং {#else} সিনট্যাক্স ব্যবহার করা হয়। এখানে condition হলো একটি শর্ত যা যদি সত্য হয় তবে সংশ্লিষ্ট HTML ব্লকটি রেন্ডার হবে।
উদাহরণ:
<!-- MyComponent.riot -->
<my-component>
<h1>Welcome to Riot.js</h1>
{#if showMessage}
<p>This is a conditional message!</p>
{#else}
<p>No message to show!</p>
{/if}
<button onclick={toggleMessage}>Toggle Message</button>
<script>
export default {
onMounted() {
this.showMessage = true; // initially showing the message
},
toggleMessage() {
this.showMessage = !this.showMessage; // Toggle between true and false
}
}
</script>
</my-component>
ব্যাখ্যা:
{#if showMessage}: যদিshowMessageসত্য (true) হয়, তাহলে<p>This is a conditional message!</p>প্রদর্শিত হবে।{#else}: যদিshowMessageমিথ্যা (false) হয়, তাহলে<p>No message to show!</p>প্রদর্শিত হবে।toggleMessageফাংশনটিshowMessageএর মান পরিবর্তন করবে, এবং যখন এটি পরিবর্তিত হবে, তখন UI পুনরায় রেন্ডার হবে।
২. if এবং else ব্যবহার
Riot.js-এ আপনি if এবং else উভয়কেই ব্যবহার করতে পারেন একসাথে। আপনি আরও শর্ত ভিত্তিক if ব্লকগুলি তৈরি করতে পারেন।
উদাহরণ:
<!-- MyComponent.riot -->
<my-component>
<h1>Welcome to Riot.js</h1>
{#if age >= 18}
<p>You are an adult.</p>
{#else if age >= 13}
<p>You are a teenager.</p>
{#else}
<p>You are a child.</p>
{/if}
<button onclick={increaseAge}>Increase Age</button>
<script>
export default {
onMounted() {
this.age = 20; // Initially set age to 20
},
increaseAge() {
this.age += 1; // Increase age by 1
}
}
</script>
</my-component>
ব্যাখ্যা:
{#if age >= 18}: যদিage১৮ বা তার বেশি হয়, তাহলে "You are an adult." বার্তা দেখাবে।{#else if age >= 13}: যদিage১৩ বা তার বেশি হয় কিন্তু ১৮ এর নিচে, তখন "You are a teenager." দেখাবে।{#else}: অন্য সব ক্ষেত্রে, "You are a child." বার্তা দেখাবে।increaseAgeফাংশন ব্যবহার করে আপনিageপরিবর্তন করতে পারবেন, এবং এর ফলে UI পুনরায় রেন্ডার হবে।
৩. Multiple if Statements
Riot.js-এ আপনি একাধিক শর্তে if ব্লক ব্যবহার করতে পারেন যাতে আপনার কম্পোনেন্ট আরও নমনীয় হয়।
<!-- MyComponent.riot -->
<my-component>
<h1>Check Your Account Status</h1>
{#if isLoggedIn}
<p>Welcome back, {userName}!</p>
{#else if isGuest}
<p>Welcome, guest. Please log in to enjoy full features.</p>
{#else}
<p>You are not logged in. Please sign up!</p>
{/if}
<button onclick={toggleLogin}>Toggle Login Status</button>
<script>
export default {
onMounted() {
this.isLoggedIn = false;
this.isGuest = true;
this.userName = 'John Doe'; // Sample user name
},
toggleLogin() {
this.isLoggedIn = !this.isLoggedIn;
this.isGuest = !this.isGuest;
}
}
</script>
</my-component>
ব্যাখ্যা:
- এখানে আপনি তিনটি
ifব্লক ব্যবহার করেছেন: একটি লগিন অবস্থার জন্য, একটি গেস্ট অবস্থার জন্য, এবং অন্য কোনো অবস্থার জন্য। toggleLoginফাংশনটিisLoggedInএবংisGuestএর মান পরিবর্তন করবে এবং UI স্বয়ংক্রিয়ভাবে আপডেট হবে।
৪. if নির্দেশনা ব্যবহার করার সময় কিছু টিপস:
- সাবধানতার সাথে
ifব্যবহারের সময় অনেক শর্ত যোগ করবেন না, কারণ এতে কম্পোনেন্টের রেন্ডারিং জটিল হতে পারে। সম্ভব হলে শর্তগুলিকে সহজ রাখুন। - প্রযুক্তিগতভাবে সঠিক কোড লেখা:
ifএবংelse ifএর সঠিক ব্যবহার নিশ্চিত করুন। Riot.js তে ব্লকের মাঝে{#else}ব্যবহারের সময় সাবধানতা অবলম্বন করুন। elseব্লক সরবরাহ না করা: যদি আপনার শুধুifব্লক ব্যবহার করার প্রয়োজন হয়, তবে{#else}ব্যবহার করতে হবে না।
Riot.js-এ if নির্দেশনা দিয়ে শর্তাধীন UI রেন্ডারিং করা অনেক সহজ এবং পরিষ্কার। {#if condition}, {#else}, {#else if} ব্যবহারের মাধ্যমে আপনি ডাইনামিকভাবে UI পরিবর্তন করতে পারবেন এবং এটি ডেটার ভিত্তিতে স্বয়ংক্রিয়ভাবে রেন্ডার হবে।
Read more