Blazor and asynchronous lifetime repo.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

53 lines
1.8 KiB

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");
}
}
}
}