diff --git a/BlazorApp/BlazorApp/Pages/Counter.razor b/BlazorApp/BlazorApp/Pages/Counter.razor index ef23cb3..f9602b1 100644 --- a/BlazorApp/BlazorApp/Pages/Counter.razor +++ b/BlazorApp/BlazorApp/Pages/Counter.razor @@ -7,6 +7,7 @@

Current count: @currentCount

+ @code { private int currentCount = 0; @@ -15,4 +16,16 @@ { currentCount++; } + + private void AutoIncrement() + { + Timer timer = new Timer(x => + { + InvokeAsync(() => + { + IncrementCount(); + StateHasChanged(); + }); + }, null, 1000, 1000); + } } diff --git a/BlazorApp/BlazorApp/Pages/User.razor b/BlazorApp/BlazorApp/Pages/User.razor index a666fab..5a87991 100644 --- a/BlazorApp/BlazorApp/Pages/User.razor +++ b/BlazorApp/BlazorApp/Pages/User.razor @@ -28,7 +28,9 @@
- + @* 속성(Attribute)도 binding 가능 *@ + @* conditional atribute 속성 자체에도 조건 붙일 수 있음 *@ +
@@ -37,12 +39,15 @@ private List _users = new List(); private string _inputName; + private string _btnClass = "btn btn-primary"; protected override void OnInitialized() { _users.Add(new UserData() { Name = "Simpson" }); _users.Add(new UserData() { Name = "Richard" }); _users.Add(new UserData() { Name = "Tylor" }); + + RefreshButton(); } private void AddUser() @@ -52,10 +57,22 @@ _users.Add(new UserData() { Name = _inputName }); _inputName = ""; + + RefreshButton(); } private void KickUser(UserData user) { _users.Remove(user); + + RefreshButton(); + } + + private void RefreshButton() + { + if (_users.Count % 2 == 0) + _btnClass = "btn btn-primary"; + else + _btnClass = "btn btn-secondary"; } }