using Microsoft.AspNetCore.Components; using System; using System.Threading.Tasks; namespace blazor_lifetime.Pages { public class SecondLevelComponentAsyncModel : ComponentBase { private string _parameter; [Parameter] public string Parameter { get { Console.WriteLine($"{GetType().Name}.Parameter.get (value: {_parameter})"); return _parameter; } set { _parameter = value; Console.WriteLine($"{GetType().Name}.Parameter.set (value: {_parameter})"); } } protected override async Task OnInitializedAsync() { Console.WriteLine($"{GetType().Name}.OnInitialized.Start"); await Task.Delay(500); Console.WriteLine($"{GetType().Name}.OnInitialized.End"); } protected override async Task OnParametersSetAsync() { Console.WriteLine($"{GetType().Name}.OnParametersSet.Start"); await Task.Delay(500); Console.WriteLine($"{GetType().Name}.OnParametersSet.End"); } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { Console.WriteLine($"{GetType().Name}.OnAfterRender(FirstRender).Start"); await Task.Delay(500); Console.WriteLine($"{GetType().Name}.OnAfterRender(FirstRender).End"); } else { Console.WriteLine($"{GetType().Name}.OnAfterRender.Start"); await Task.Delay(500); Console.WriteLine($"{GetType().Name}.OnAfterRender.End"); } } } }