Wie Blazor Framework benachrichtigt wird, wenn der Eigenschaftswert geändert wird

asp.net-core blazor c#

Frage

Wenn wir einen HTML-Code wie unten haben.

<h1>@Title</h1>

und C # wie unten

<h1>@Title</h1>

Ich denke, ich habe einen Code wie unten ausgeführt

<h1>@Title</h1>

Dann sehen wir, dass die Ansicht mit dem neuen Wert übereinstimmt.

Wie der Renderer weiß, dass der Eigenschaftswert Änderungen aufweist. Ist etwas wie INotifyProperyChange implementiert INotifyProperyChange Wie der HTML weiß, dass es an der Zeit ist, den Inhalt zu aktualisieren.

Ich möchte nur wissen, wie die Interna des Blazor-Frameworks strukturiert sind.

Akzeptierte Antwort

Blazor prüft automatisch auf Änderungen der gebundenen Eigenschaften, wenn eine Benutzerinteraktion stattgefunden hat (z. B. Klick auf die Schaltfläche, Text in einer Eingabe geändert). In diesem Fall löst der JavaScript-Code von Blazor die Erkennung in C # (= Webassembly) aus. Daher müssen Sie nichts tun, wenn Sie die Benutzeroberfläche nach einer Benutzerinteraktion aktualisieren möchten.

Es gibt jedoch Fälle, in denen Sie die Benutzeroberfläche aktualisieren möchten, obwohl keine Benutzerinteraktion stattgefunden hat (z. B. Zeitgeber). In diesem Fall müssen Sie StateHasChanged . Ich habe ein detaillierteres Beispiel auf learn-blazor.com erstellt .




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum