Как 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 автоматически проверяет изменения связанных свойств при взаимодействии с пользователем (например, нажатие кнопки, изменение текста на входе). В этом случае JavaScript-код Blazor запускает обнаружение изменений в C # (= Webassembly). Поэтому вам не нужно ничего делать, если вы хотите обновить интерфейс после взаимодействия с пользователем.

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




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему