以下のようなHTMLコードがある場合。
<h1>@Title</h1>
とC#は以下のように
public string Title { get; set; }
以下のようなコードを実行したと思います
Title = "New title updated in the runtime";
次に、ビューが新しい値に変更されていることがわかります。
プロパティ値に変更があることをレンダラーが認識する方法。 INotifyProperyChange
のようなものが実装されていますか。これがコンテンツを更新するときであることをHTMLがどのように認識するか。
BlazorFrameworkの内部がどのように構築されているかを知りたいだけです。
Blazorは、ユーザーの操作が発生したときに、バインドされたプロパティの変更を自動的にチェックします(ボタンのクリック、入力のテキストの変更など)。その場合、BlazorのJavaScriptコードは、C#(= Webassembly)で変更検出をトリガーします。したがって、ユーザーの操作後にUIを更新する場合は、何もする必要はありません。
ただし、ユーザーの操作が発生していなくてもUIを更新したい場合があります(タイマーなど)。その場合、StateHasChanged
を呼び出す必要があります。 learn-blazor.com でより詳細な例を作成しました。