Как Blazor Framework уведомляется при изменении значения свойства

Когда у нас есть HTML-код, как показано ниже.

<h1>@Title</h1>

и C#, как показано ниже

public string Title { get; set; }

Думаю, я выполнил код как показано ниже

Title = "New title updated in the runtime";

Затем мы видим, что представление изменилось с новым значением.

Как средство визуализации знает, что значение свойства имеет изменения. Есть что-нибудь подобное INotifyProperyChange реализовано. Как HTML знает, что пришло время обновить контент.

Я просто хочу знать, как устроены внутренние компоненты Blazor Framework.

1 ответ

Решение

Blazor автоматически проверяет изменения связанных свойств, когда происходит взаимодействие с пользователем (например, нажатие кнопки, изменение текста на входе). В этом случае JavaScript-код Blazor вызывает обнаружение изменений в C# (=Webassembly). Следовательно, вам не нужно ничего делать, если вы хотите обновить пользовательский интерфейс после взаимодействия с пользователем.

Однако есть случаи, когда вы хотите обновить пользовательский интерфейс, хотя взаимодействие с пользователем не происходило (например, таймер). В этом случае вы должны позвонить StateHasChanged, Я создал более подробный пример на веб-сайте learn-blazor.com.

Другие вопросы по тегам