سلام
موارد استفاده از props و emit در vuejs و در پروژه واقعی چیست و چه زمانی از آن ها استفاده میشود؟
وقتی ما کامپوننت فرزند میسازیم و میخواهیم اون کامپوننت رو در کامپوننت والد معرفی کنیم خب ما تمام کارهارو در کامپوننت فرزند انجام دادیم و چه نیازی هست که دوباره یک دیتا رو سمت کامپوننت والد بفرستیم؟
تشکر
سلام
مهمترین استفاده اش زمانی هست که میخواهید یک رخداد (event) در کامپوننت فرزند باعث اعمال تغییر در کامپوننت والد بشه.
مثلا فرض کنید یک کامپوننت داریم بنام TodoList که داخلش چندین کامپوننت زیر مجموعه بنام TodoItem هست.
حالا اگر بخواهیم وقتی روی دکمه «حذف» که داخل کامپوننت فرزند هست کلیک شد، اون کامپوننت حذف و از لیست مخفی بشه، این اتفاق عملا باید در کامپوننت والد یا همون TodoList بیفته و مثلا بعد از ارسال ajaxRequest مقدار data protperty مربوط به لیست اطلاعات رو فیلتر کنیم.
برای این کار پس باید از کامپوننت فرزند یعنی TodoItem که روی دکمه حذفش کلیک شده یک event مثلا بنام itemDeleted رو emit کنیم.
و بعد در کامپوننت والد با تعریف itemDeleted@
گوش به زنگ این رخداد باشیم و بقیه کار ها رو انجام بدیم.
فرض بفرمایید لیستی از مقالات را میخواهید نمایش دهید و فرض بفرمایید دو کامپوننت articles و articleBox را داریم. articleBox را داخل یک حلقه for قرار میدهیم. چگونه اطلاعات مقالات را که قرار است هر کدام در یک باکس قرار بگیرد را به هر کامپوننت ارسال کنیم؟ هیچ راهی در جلوی ما باز نیست مگر استفاده از props ...!
<articleBox v-for="(article, index) in articles" :key="index" article="article" />
این از کاربرد props و اما emit هم که آقای یگانه عرض کردند خدمتتان
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟