راکت

موارد استفاده از props و emit چیست

2 پاسخ

سلام
موارد استفاده از props و emit در vuejs و در پروژه واقعی چیست و چه زمانی از آن ها استفاده میشود؟
وقتی ما کامپوننت فرزند میسازیم و میخواهیم اون کامپوننت رو در کامپوننت والد معرفی کنیم خب ما تمام کارهارو در کامپوننت فرزند انجام دادیم و چه نیازی هست که دوباره یک دیتا رو سمت کامپوننت والد بفرستیم؟
تشکر

آرمین
آرمین
@arminbeik
ثبت پرسش جدید

پاسخ‌ها

2
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

سلام
مهمترین استفاده اش زمانی هست که می‌خواهید یک رخداد (event) در کامپوننت فرزند باعث اعمال تغییر در کامپوننت والد بشه.

مثلا فرض کنید یک کامپوننت داریم بنام TodoList که داخلش چندین کامپوننت زیر مجموعه بنام TodoItem هست.
حالا اگر بخواهیم وقتی روی دکمه «حذف» که داخل کامپوننت فرزند هست کلیک شد، اون کامپوننت حذف و از لیست مخفی بشه، این اتفاق عملا باید در کامپوننت والد یا همون TodoList بیفته و مثلا بعد از ارسال ajaxRequest مقدار data protperty مربوط به لیست اطلاعات رو فیلتر کنیم.

برای این کار پس باید از کامپوننت فرزند یعنی TodoItem که روی دکمه حذفش کلیک شده یک event مثلا بنام itemDeleted رو emit کنیم.
و بعد در کامپوننت والد با تعریف itemDeleted@ گوش به زنگ این رخداد باشیم و بقیه کار ها رو انجام بدیم.

علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

فرض بفرمایید لیستی از مقالات را می‌خواهید نمایش دهید و فرض بفرمایید دو کامپوننت articles و articleBox را داریم. articleBox را داخل یک حلقه for قرار می‌دهیم. چگونه اطلاعات مقالات را که قرار است هر کدام در یک باکس قرار بگیرد را به هر کامپوننت ارسال کنیم؟ هیچ راهی در جلوی ما باز نیست مگر استفاده از props ...!

<articleBox v-for="(article, index) in articles" :key="index" article="article" />

این از کاربرد props و اما emit هم که آقای یگانه عرض کردند خدمتتان

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام