Динамические компоненты Blazor (DynamicComponent)

Одним из нововведений в Blazor .NET 6 стала возможность использовать динамические компоненты (DynamicComponent). Стандартный подход к созданию пользовательского интерфейса в Blazor состоит в том, чтобы разбить интерфейс на части (компоненты) и, в зависимости от потребностей пользователя составлять из этих компонентов всё содержимое той или иной страницы. DynamicComponent расширяет возможности по построению пользовательского интерфейса в Blazor.

Читать далее

Code-behind в Blazor

Обычно, компонент Blazor создается в одном файле с расширением .razor. В этом файле содержится и HTML-разметка компонента с необходимыми привязками данных и код программной части — обработка событий, бизнес-логика и т.д. С одной стороны, такой подход к разработке довольно привычный (особенно, если до этого вы разрабатывали приложения с использованием .NET Framework), а, с другой стороны, не совсем (а, точнее, совсем) не удобен в том случае, если над разметкой и логикой компонента работают разные люди. В этом случае, Blazor позволяет разделить разметку и код программной части компонента.

Читать далее

Жизненный цикл компонента Blazor

Компоненты Blazor имеют четко определенный жизненный цикл. Жизненный цикл компонента можно использовать для инициализации состояния компонента и/или реализации расширенного поведения компонентов. Компонент обрабатывает события своего жизненного цикла в наборе синхронных и асинхронных методов. Эти методы, при желании, можно переопределить для выполнения дополнительных операций с компонентом.

Читать далее

Запрет действий по умолчанию

Иногда нам может потребоваться запретить браузеру какие-либо действия по умолчанию. Например, если вы кликаете по какой-либо ссылке, то браузер попробует перейти по ссылке указанной в атрибуте href. В Blazor мы можем запретить такое действие по умолчанию и переопределить поведение.

Читать далее

Обработка событий дочерних компонентов Blazor

Достаточно распространенным сценарием работы в Blazor с вложенными (дочерними) компонентами является выполнение метода родительского компонента при возникновении события у дочернего компонента. Например, когда в дочернем элементе возникает событие onclick необходимо вызывать какой-либо метод, определенный в родительском компоненте.

Читать далее

Обработка событий в Blazor

В Blazor для обработки каких-либо событий элементов (например, клик по элементу, потеря фокуса и т.д.) используется следующий синтаксис: @on[EVENT]="[DELEGATE]", где EVENT — это какое-либо событие DOM, а DELEGATE — обработчик события делегата в компоненте Blazor.

Читать далее

Привязка данных в Blazor

В Blazor механизм привязки данных может применяться к любом атрибуту html-элемента. Для привязки данных используется директива @bind-. Привязка данных в Blazor позволяет связать свойства и поля компонента в программной части компонента с какими-либо атрибутами html-элементов в визуальной части.

Читать далее

Каскадные параметры в Blazor

Еще одной полезной возможностью Blazor является то, что компонент-предок может предоставить каскадный параметр с помощью компонента CascadingValue, который заключает поддерево иерархии компонентов и предоставляет одно значение для всех компонентов в его поддереве.

Читать далее

Передача набора атрибутов компонентам в Blazor

При разработке приложения Blazor не всегда бывает известно то, какие атрибуты должен содержать тот или иной элемент на странице. Например, в зависимости от каких-то внешних данных мы должны менять стиль элемента на форме или добавлять/добавлять какие-либо атрибуты и так далее. В Blazor имеется возможность передавать произвольный набор атрибутов компонентам.

Читать далее

Параметры и свойства компонентов Blazor

Как мы уже определили, компоненты Blazor — это самодостаточные элементы, которые могут содержать в себе в том числе и определенные свойства (параметры), отвечающие, например, за то, как будет отрисовываться компонент в окне браузера. Сегодня рассмотрим то, как можно передавать различные параметры компонентам Blazor.

Читать далее