using Microsoft.AspNetCore.Components; using System; using System.Threading; namespace blazor_lifetime.Pages { public class SecondLevelComponentModel : 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 void OnInitialized() { Console.WriteLine($"{GetType().Name}.OnInitialized.Start"); Thread.Sleep(500); Console.WriteLine($"{GetType().Name}.OnInitialized.End"); } protected override void OnParametersSet() { Console.WriteLine($"{GetType().Name}.OnParametersSet.Start"); Thread.Sleep(500); Console.WriteLine($"{GetType().Name}.OnParametersSet.End"); } protected override void OnAfterRender(bool firstRender) { if (firstRender) { Console.WriteLine($"{GetType().Name}.OnAfterRender(FirstRender).Start"); Thread.Sleep(500); Console.WriteLine($"{GetType().Name}.OnAfterRender(FirstRender).End"); } else { Console.WriteLine($"{GetType().Name}.OnAfterRender.Start"); Thread.Sleep(500); Console.WriteLine($"{GetType().Name}.OnAfterRender.End"); } } } }