سوال در مورد حلقه در بدنه تابع historyPushState

پرسیده شده
فعالیت 1226 روز پیش
دیده شده 372 بار
0

سلام جناب سوری عزیز خیلی ارادتمندیم و رفتار و اخلاق بزرگوارانه شما بیشتر از سطح معلوماتتون ما رو شیفته شما کرده هر چند که سطح معلوماتتون هم خیلی بالاست 

جناب در مورد این جلسه سوالی داشتم و اون هم اون قسمت بود که تو فایل history.js یک فانکشن نوشتین به اسم historyPushState که تو این تابع آخرش از آبجکت instances اومدین حلقه گرفتین و داخل اون حلقه اومدین تمام اون کالبک های داخل اون آبجکت رو صدا زدین و تغییر کرد که در نهایت استیت ignore تغییر کرد و اون کامپوننت دوباره رندر شد سوالم اینجاست که چرا اومدین کل و تک تک اون متدهای داخل اون آبجکت رو صدا زدید خوب متوجه نشدم اینجا رو خیلی ممنون

فایل پیوست

HASHEM
HASHEM

4 دی 99

1
حذف شده

سلام

شما خیلی به من لطف دارید

 

یک مثال رو اینجا مطرح میکنم امیدوارم یکمی موضوع شفاف تر بشه

فرض کنید یک سوپرمارکت در یک محله ای هست و اونجا یک دفتری رو قرار داده به عنوان خدمات VIP که یکسری مشتری خاصی که داره شماره تماسش رو ثبت بکن تا زمانی که یک جنس خاصی موجود شد‌(مثلا روغن) صاحب مغازه این تغییر رو بهشون اطلاع رسانی بکن

خوب حالا فرض کن در یک زمانی روغن موجود شد! در این زمان صاحب مغازه به همه اون افرادی که شماره تماسشون رو ثبت کردن زنگ میزنه و بهشون اطلاع میده و در این لحظه کاری نداره که اون فرد آیا اصلا به این روغن نیاز داره یا نه، صرفا به این دلیل که شماره تماسش رو ثبت کرده باهاش تماس میگیره و اطلاع رسانی میکنه

 

حالا بیایم همین رو با مثال خودمون تطبیق بدیم

یکسری کامپوننت Route داریم که قصد دارند از تغییرات مطلع بشن! هر کدوم به صورت جداگانه میرن و یک تابع رو ثبت می کنن تا هر زمانی تغییری صورت گرفت با فراخوانی اون تابع متوجه تغییرات بشن

خوب حالا اگر فرضا آدرس تغییر کرد چه باید کرد؟ به غیر از این که بریم همه اون تابع هایی رو که ثبت کردن فراخوانی بکنیم که همه اونها تغییرات رو متوجه بشن؟

حالا ممکن اون Route با توجه به آدرس جدید چیزی رو نمایش بده یا نه دیگه ربطی به ما نداره و صرفا به دلیل اینکه یک تابع رو ثبت کرده تغییرات بهش اطلاع رسانی میشه!

 

اگر پاسخ بازم شفاف نبود میتونی داخل وبینار امشب سوالت رو دوباره مطرح بکنی که بیشتر در مورد مذاکره بکنیم

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

4 دی 99