کامپوننت های توکار (Built-in Components)
در Vue چند کامپوننت توکار داریم. این قطعه ها آماده اند و کارهای خاص انجام می دهند. بنابراین ساخت برنامه سریع تر می شود و کد تمیزتر می ماند.
فهرست کامپوننت های توکار
<KeepAlive>: حالت کامپوننت های پویا را نگه می دارد. پس با جابه جایی، فرم ها ریست نمی شوند.
<Suspense>: برای کامپوننت های آسنکرون است. تا آماده شوند، محتوای جایگزین نمایش می دهد. هشدار: این مورد آزمایشی است.
<Teleport>: یک بخش DOM را به جای دیگر می فرستد. بنابراین مودال ها را بیرون می بریم.
<Transition>: ورود و خروج عنصر را انیمیت می کند. با v-if یا v-show عالی است.
<TransitionGroup>: چندین عنصر تکراری را انیمیت می کند. مخصوصاً کنار v-for.
نمونه کوتاهِ استفاده
در این نمونه، از نام ها و کاربردهای همان جدول استفاده می کنیم. هدف، جا انداختن نقش هر کدام است.
<template>
<KeepAlive>
<component :is="activeView"></component>
</KeepAlive>
<Teleport to="#modals">
<div class="modal">Modal content here</div>
</Teleport>
<Transition>
<p v-if="show">Hello transitions!</p>
</Transition>
<TransitionGroup tag="ul">
<li v-for="i in items" :key="i">{{ i }}</li>
</TransitionGroup>
</template>
<script>
export default {
data() {
return {
activeView: "MyView",
show: true,
items: [1, 2, 3]
};
}
};
</script>
گام های سریع برای انتخاب درست
- <KeepAlive> برای جابه جایی بین نماها عالی است.
- <Teleport> برای مودال و نوتیفیکیشن مناسب است.
- <Transition> را برای تک عنصر بگذار.
- <TransitionGroup> را برای لیست ها بگذار.
نکته: اگر داده واکنشی کافی است، سراغ انیمیشن های پیچیده نرو. ساده بماند، سریع تر می مانی.
جمع بندی سریع
- <KeepAlive> حالت را حفظ می کند.
- <Teleport> مودال را جابجا می کند.
- <Transition> ورود و خروج را نرم می کند.
- <TransitionGroup> لیست های متحرک می سازد.
مطالب مرتبط داخلی: کامپوننت ها و ویژگی های توکار، ویژگی key، و ویژگی ref. همچنین ابتدا بیلد و Composition API را مرور کن.