Как 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.