プロパティ値が変更されたときにBlazor Frameworkが通知される仕組み

asp.net-core blazor c#

質問

次のようなHTMLコードがあるとします。

<h1>@Title</h1>

とC#は以下のように

public string Title { get; set; }

私は以下のようなコードを実行したと思う

Title = "New title updated in the runtime";

それでは、新しい価値観を見せていることが分かります。

プロパティ値に変更があることをレンダラーがどのように知っているか。 INotifyProperyChangeが実装されているようなものはありますか?これがコンテンツを更新する時間であることをHTMLがどのように知っているか。

私は、Blazor Frameworkの内部構造がどのように構築されているかを知りたいだけです。

受け入れられた回答

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

ただし、ユーザーインタラクションは発生しませんが(たとえばタイマー)、UIを更新する必要がある場合があります。その場合は、 StateHasChangedを呼び出すStateHasChangedます。私はlearn-blazor.comに関するより詳細な例を作成しました。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ