دسته بندی ها
10:32 1399/12/20

چرخه LifeCycle در Razor Page ها در Blazor چگونه است ؟

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Blazor

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2932
هوش مصنوعی

پاسخ هوش مصنوعی

چرخه عمر (LifeCycle) در Razor Page ها در Blazor شامل چندین مرحله مهم است که به توسعه دهندگان این امکان را می دهد تا روی بارگذاری و تعاملات صفحه کنترل داشته باشند. مراحل اصلی چرخه عمر شامل موارد زیر هستند:

  • OnInitialized: این متد زمانی فراخوانی می شود که کامپوننت برای اولین بار ایجاد می شود. در این مرحله، می توانید داده ها را بارگذاری کنید.
  • OnParametersSet: این متد زمانی فراخوانی می شود که پارامترهای ورودی به کامپوننت تنظیم می شوند. این می تواند وقتی باشد که والد یک کامپوننت، پارامترهای آن را تغییر می دهد.
  • OnAfterRender: این متد بعد از اینکه کامپوننت برای اولین بار رندر (Render) شد، فراخوانی می شود. اینجا می توانید کارهایی مثل به روزرسانی DOM یا انجام محاسباتی که به رندر بستگی دارند، انجام دهید.
  • OnInitializedAsync: این متد مشابه OnInitialized است اما به صورت ناهمزمان (Asynchronous) عمل می کند. اینجا می توانید درخواست های ناهمزمان برای بارگذاری داده ها انجام دهید.
  • OnParametersSetAsync: این متد نسخه ناهمزمان OnParametersSet است و می توان از آن برای بارگذاری داده های اضافی استفاده کرد.
  • OnAfterRenderAsync: این متد نسخه ناهمزمان OnAfterRender است و می تواند برای انجام کارهای پیچیده و نیازمند به زمان پس از رندر استفاده شود.

شما می توانید این متدها را در کلاس Razor Page خود پیاده سازی کنید. به عنوان مثال:

public class MyPageModel : PageModel
{
    public string Message { get; set; }

    public void OnInitialized()
    {
        Message = "سلام، خوش آمدید!";
    }

    public async Task OnInitializedAsync()
    {
        // بارگذاری داده های ناهمزمان
    }
}

با استفاده از این متدها، می توانید کنترل دقیقی بر روی چرخه عمر Razor Page ها در Blazor داشته باشید و به نیازهای خاص خود پاسخ دهید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 15:14 1399/12/20

چرخه LifeCycle در Razor Page ها در Blazor چگونه است ؟

شما وقتی یک Razor Page رو نمایش می دید چندین LifeCycle به ترتیب اجرا میشه. مهم ترین LifeCycle ها در Razor Page ها در Blazor به ترتیب زیر هستن.

متد OnInitialized

خب اولین متدی که هنگام اجرای یک Razor Page در Blazor اجرا میشه متد OnInitialized هست. نوشتن این متد به صورت زیر هست.

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

 

متد OnParametersSet

دومین متدی که اتوماتیک با نمایش Razor Page ها فعال می شود OnParametersSet می باشد. شما هر گونه پارامتری در صفحه داشته باشید، یا از صفحات دیگر دریافت کنید در این متد مقداردهی می شود. نحوه استفاده به صورت زیر می باشد.

@code {
    protected override void OnParametersSet()
    {
        Console.WriteLine("Section 2");
    }
}

 

متد OnAfterRender

متد سومی که در نمایش یک Razor در Blazor اجرا می شود متد OnAfterRender می باشد. این متد بعد از OnInitialized و OnParametersSet اجرا می شود و محتویات صفحه را نمایش می دهد. نحوه استفاده به این صورت می باشد.

protected override void OnAfterRender(bool firstRender)
{
    Console.WriteLine("Section 3");
}

 

در مجموع به ترتیب میتوان کدها را به صورت زیر نوشت :

@code {

    protected override void OnInitialized()
    {
        Console.WriteLine("Section 1");
    }
    protected override void OnParametersSet()
    {
        Console.WriteLine("Section 2");
    }
    protected override void OnAfterRender(bool firstRender)
    {
        Console.WriteLine("Section 3");
    }
}

بنابراین به صورت کلی و به ترتیب موارد زیر را خواهیم داشت

 

@page "/lifecycle"

<h3>LifeCycle</h3>

@code {
    protected override void OnInitialized()
    {
        Console.WriteLine("Section 1");
    }
    protected override void OnParametersSet()
    {
        Console.WriteLine("Section 2");
    }
    protected override void OnAfterRender(bool firstRender)
    {
        Console.WriteLine("Section 3");
    }
}

 

ویرایش شده در دوشنبه 27 اسفند 1403 ساعت 17:05:56
به این پاسخ امتیاز بدهید    ‎−1
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود