web-dev-qa-db-ja.com

プロパティ値が変更されたときにBlazorFrameworkに通知する方法

以下のようなHTMLコードがある場合。

<h1>@Title</h1>

とC#は以下のように

public string Title { get; set; }

以下のようなコードを実行したと思います

Title = "New title updated in the runtime";

次に、ビューが新しい値に変更されていることがわかります。

プロパティ値に変更があることをレンダラーが認識する方法。 INotifyProperyChangeのようなものが実装されていますか。これがコンテンツを更新するときであることをHTMLがどのように認識するか。

BlazorFrameworkの内部がどのように構築されているかを知りたいだけです。

8
VibeeshanRC

Blazorは、ユーザーの操作が発生したときに、バインドされたプロパティの変更を自動的にチェックします(ボタンのクリック、入力のテキストの変更など)。その場合、BlazorのJavaScriptコードは、C#(= Webassembly)で変更検出をトリガーします。したがって、ユーザーの操作後にUIを更新する場合は、何もする必要はありません。

ただし、ユーザーの操作が発生していなくてもUIを更新したい場合があります(タイマーなど)。その場合、StateHasChangedを呼び出す必要があります。 learn-blazor.com でより詳細な例を作成しました。

12
Rainer