دسته بندی ها
18:07 1399/12/20

کاربرد متد StatedHasChanged در Blazor چیست ؟

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : Blazor

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2793
پاسخ دهنده : saedbfd 20:31 1399/12/20

کاربرد متد StatedHasChanged در Blazor

همون طوری که میدونید توسط Blazor شما میتونید صفحات SPA یا Single PAge Application رو ایجاد کنید. خاصیت SPA ها این هست که بدون رفرش شدن صفحه میتونن اطلاعات رو نمایش بدن. حالا گاهی اوقات ممکنه شما قصد داشته باشید یک حالت رفرش رو در صفحه پیاده سازی کنید. البته نه اینکه صفحه کلا رفرش بشه. اطلاعات صفحه رو میخواید بروزرسانی کنید. در این موارد میتونید از StatedHasChanged استفاده کنید.

در واقع StatedHasChanged به Blazor میگه که اطلاعات رو دوباره بروز رسانی کن چون تغییراتی صورت گرفته.

 

چه زمانی باید از StatedHasChanged در Blazor استفاده کرد ؟

  • دقت کنید عموما این متد به صورت اتوماتیک فراخوانی می شود. مثلا زمانی که شما یک Button را در صفحه می زنید و اطلاعات از دیتابیس فراخوانی می شود و یا Component فراخوانی می شود اتوماتیک این متد اجرا می شود.
  • یکی دیگر از حالاتی که این متد قراخوانی می شود بعد از شروع فراخوانی یک UI می باشد. این متد بعد از فراخوانی دستورات UI باعث نمایش  به روز رسانی صفحه می شود.
  • هنگامی که یک یا چند کامپوننت را می خواهیم در یک Razor PAge نمایش دهیم بعد از فراخوانی کامپوننت ها این متد جهت به روز رسانی صفحه فراخوانی می شود.
  • از این متد به صورت دستی هم میتوانید استفاده کنید. به عنوان مثال فرض کنید در صفحه از یک کامپوننت استفاده می شود که برخی اطلاعات موجود در این کامپوننت از دیتابیس گرفته می شود. شما هر گاه و در حالتی نیاز داشتید که مطمئن باشید اطلاعات از دیتابیس فراخوانی شده است یا خیر می توانید به صورت دستی از این متد استفاده کنید.

 

به مثال زیر دقت کنید 

@code { 
    protected override void OnInitialized()
    {
        StatedHasChanged();
        Console.WriteLine("Section 1");
    }
}

 

در مثال بالا مشخص کردیم که در حالت Load صفحه یکبار محتوای صفحه به روز رسانی شود.

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود