آرمین
3 سال پیش توسط آرمین مطرح شد
2 پاسخ

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

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


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش آپدیت شد
1

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

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

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


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش آپدیت شد
1

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

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

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


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

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