Vue <TransitionGroup> Component

Vue-তে <TransitionGroup> উপাদানটি শিখুন

Vue <TransitionGroup> উপাদান

<TransitionGroup> উপাদানটি Vue-এর সবচেয়ে শক্তিশালী অন্তর্নির্মিত উপাদানগুলির মধ্যে একটি। এটি ভি-ফর দিয়ে তৈরি অনেক উপাদানের জন্য অ্যানিমেশন প্রদান করে, বিশেষ করে যখন সেগুলি যোগ করা, সরানো বা পুনর্বিন্যাস করা হয়।

🎯মূল পার্থক্য:

<Transition> একটি একক উপাদানের জন্য অ্যানিমেশনের জন্য, যখন <TransitionGroup> একাধিক উপাদানের ক্রমগুলির জন্য অ্যানিমেশনের জন্য।

উদাহরণ

আপনার নিজস্ব Vue সার্ভার পান

অন্তর্নির্মিত <TransitionGroup> উপাদান ব্যবহার করে অ্যানিমেটেড <li> ট্যাগ ধারণকারী একটি <ol> ট্যাগ তৈরি করতে:

<TransitionGroup tag="ol">
  <li v-for="x in products" :key="x">
    {{ x }}
  </li>
</TransitionGroup>

নীচে আরো উদাহরণ দেখুন.

সংজ্ঞা এবং প্রয়োগ

একটি অন্তর্নির্মিত <TransitionGroup> উপাদানগুলি যখন এই উপাদানগুলি যোগ করা বা সরানো হয় তখন পৃথক অ্যানিমেশন প্রদান করতে v-for দিয়ে তৈরি উপাদানগুলির চারপাশে ব্যবহার করা হয়।

<TransitionGroup> এলিমেন্টের মধ্যে v-for দিয়ে তৈরি করা ট্যাগগুলিকে কী অ্যাট্রিবিউট দিয়ে স্বতন্ত্রভাবে সংজ্ঞায়িত করতে হবে।

⚠️গুরুত্বপূর্ণ নোট:

ট্যাগ প্রপ ব্যবহার করে একটি নির্দিষ্ট ট্যাগ হিসাবে সংজ্ঞায়িত হলেই <TransitionGroup> উপাদানটি একটি HTML ট্যাগ হিসাবে রেন্ডার করা হয়। ট্যাগ প্রপ সেট করা না থাকলে, <TransitionGroup> ট্যাগ হিসেবে রেন্ডার করা হবে না।

যখন একটি অ্যারের উপর ভিত্তি করে একটি <TransitionGroup> উপাদানের মধ্যে v-for দিয়ে ট্যাগ তৈরি করা হয়, তখন অ্যারে থেকে উপাদান যোগ করা বা সরানো হলে এই ট্যাগগুলি স্বয়ংক্রিয়ভাবে অ্যানিমেটেড হয়ে যায়।

প্রপস

একটি অন্তর্নির্মিত <TransitionGroup> উপাদান একটি অন্তর্নির্মিত <Transition> উপাদানের মতো একই প্রপসের সাথে ব্যবহার করা যেতে পারে, তবে অতিরিক্ত নাম এবং মুভক্লাস প্রপস গ্রহণ করবে:

প্রপ ব্যাখ্যা
none ডিফল্ট
tag <TransitionGroup> নির্দিষ্ট ট্যাগ হিসাবে রেন্ডার করা হয়। ট্যাগ প্রপ সেট করা না থাকলে, <TransitionGroup> ট্যাগ হিসেবে রেন্ডার করা হবে না।
moveClass মুভ ক্লাসের জন্য একটি কাস্টম নাম তৈরি করে। মুভ ক্লাসের ডিফল্ট নাম v-move।

🔑মূল প্রপস:

<TransitionGroup> <Transition> থেকে বেশিরভাগ প্রপস উত্তরাধিকার সূত্রে পায়, কিন্তু ট্যাগ এবং মুভক্লাসের মতো অতিরিক্ত প্রপস রয়েছে। ট্যাগ প্রপটি বিশেষভাবে গুরুত্বপূর্ণ কারণ এটি নিয়ন্ত্রণ করে কোন HTML উপাদানটি <TransitionGroup> হিসেবে রেন্ডার করা উচিত।

🔑মূল প্রপস:

<TransitionGroup> <Transition> থেকে বেশিরভাগ প্রপস উত্তরাধিকার সূত্রে পায়, কিন্তু ট্যাগ এবং মুভক্লাসের মতো অতিরিক্ত প্রপস রয়েছে। ট্যাগ প্রপটি বিশেষভাবে গুরুত্বপূর্ণ কারণ এটি নিয়ন্ত্রণ করে কোন HTML উপাদানটি <TransitionGroup> হিসেবে রেন্ডার করা উচিত।

মূল উদাহরণ

উদাহরণ 1

ডাইস যোগ করা বা অপসারণ করা যেতে পারে, যোগ করা পাশা <TransitionGroup> ব্যবহার করে অ্যানিমেটেড করা হয়।

<template>
  <h3>The <TransitionGroup> Component</h3>
  <p>New products are given animations using the <TransitionGroup> component.</p>
  <button @click="addDie">Roll</button>
  <button @click="removeDie">Remove random</button><br>
  <TransitionGroup>
    <div v-for="x in dice" :key="x" class="diceDiv" :style="{ backgroundColor: 'hsl('+x*40+',85%,85%)' }">
      {{ x }}
    </div>
  </TransitionGroup>
</template>

উদাহরণ 2

ডাইস যোগ করা বা অপসারণ করা যেতে পারে, যোগ করা এবং অপসারণ করা উভয় ডাইস <TransitionGroup> ব্যবহার করে অ্যানিমেটেড করা হয়।

<template>
  <h3>The <TransitionGroup> Component</h3>
  <p>When an item is removed inside the <TransitionGroup> component, other items are animated as they fall into their new positions.</p>
  <button @click="addDie">Roll</button>
  <button @click="removeDie">Remove random</button><br>
  <TransitionGroup>
    <div v-for="x in dice" :key="x" class="diceDiv" :style="{ backgroundColor: 'hsl('+x*40+',85%,85%)' }">
      {{ x }}
    </div>
  </TransitionGroup>
</template>

উদাহরণ 4

মুভ ক্লাসের নাম পরিবর্তন করা হয়েছে মুভক্লাস প্রপ ব্যবহার করে।

<template>
  <h3>The <TransitionGroup> Component</h3>
  <p>When an item is removed inside the <TransitionGroup> component, other items are animated as they fall into their new positions.</p>
  <button @click="addDie">Roll</button>
  <button @click="removeDie">Remove random</button><br>
  <TransitionGroup moveClass="good-slide">
    <div 
    v-for="x in dice" 
    :key="x" 
    class="diceDiv" 
    :style="{ backgroundColor: 'hsl('+x*40+',85%,85%)' }"
    >
      {{ x }}
    </div>
  </TransitionGroup>
</template>

Vue <TransitionGroup> কম্পোনেন্ট টিউটোরিয়াল

Vue-তে <TransitionGroup> উপাদান সম্পর্কে আপনার বোঝার পরীক্ষা করার জন্য এই টিউটোরিয়ালটি চেষ্টা করুন।

Vue-তে <TransitionGroup> এবং <Transition> উপাদানগুলির মধ্যে প্রধান পার্থক্য কী?

<TransitionGroup> দ্রুত অ্যানিমেশন প্রদান করে
✗ ভুল! গতি প্রধান পার্থক্য নয়
<TransitionGroup> শুধুমাত্র CSS ট্রানজিশন সমর্থন করে
✗ ভুল! উভয় উপাদানই CSS এবং JavaScript অ্যানিমেশন সমর্থন করে
<TransitionGroup> হল একাধিক উপাদানের সিকোয়েন্সের জন্য অ্যানিমেশনের জন্য
✓ ঠিক আছে! <Transition> একটি একক উপাদানের জন্য, যখন <TransitionGroup> v-এর সাহায্যে তৈরি একাধিক উপাদানের অ্যারের জন্য।
<TransitionGroup> শুধুমাত্র v-if এর সাথে ব্যবহার করা যেতে পারে
✗ ভুল! <TransitionGroup> প্রাথমিকভাবে v-for এর সাথে ব্যবহৃত হয়

এটা কিভাবে কাজ করে

কিভাবে <TransitionGroup> উপাদান কাজ করে:

ফ্রেমওয়ার্ক হিসাবে v-এর সাথে তৈরি উপাদান রয়েছে
প্রতিটি শিশু উপাদান একটি অনন্য কী বৈশিষ্ট্য প্রয়োজন
v-move ক্লাস ব্যবহার করে বাকি উপাদানগুলির রিপজিশনিং অ্যানিমেশন প্রদান করে
সারি পরিবর্তন হলে স্বয়ংক্রিয়ভাবে অ্যানিমেশন পরিচালনা করে
উপাদান যোগ করা, সরানো বা পুনর্বিন্যাস করা হলে অ্যানিমেশন প্রদান করে

ভি-মুভ ক্লাস:

v-move ক্লাস অ্যানিমেশন পরিচালনা করে যখন একটি উপাদান সরানো হয় এবং অবশিষ্ট উপাদানগুলি তাদের নতুন অবস্থানে চলে যায়। এটি <TransitionGroup> এর সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলির মধ্যে একটি।

সর্বোত্তম অনুশীলন

<TransitionGroup> উপাদান ব্যবহার করার সময় এই নির্দেশিকাগুলি অনুসরণ করুন:

সারির জন্য v-এর জন্য <TransitionGroup> ব্যবহার করুন
প্রতিটি শিশু উপাদানের জন্য অনন্য কী মান ব্যবহার করুন
v-move ক্লাস ব্যবহার করে রিপজিশনিং অ্যানিমেশন প্রদান করুন
ট্যাগ প্রপ ব্যবহার করে পছন্দসই HTML গঠন সংজ্ঞায়িত করুন
বড় ডেটাসেটের জন্য <TransitionGroup> ব্যবহার করা এড়িয়ে চলুন (কর্মক্ষমতা সমস্যা)