Общие сведения о компонентах шаблона

Завершено XP: 200

Компоненты шаблона, которые можно повторно использовать в нескольких приложениях, предоставляют основу проверки макета и логики для настройки элемента пользовательского интерфейса. Компоненты шаблонов применяют стандартизованную структуру в веб-приложении, определяя общие элементы и применяя их ко всем страницам. Шаблоны могут упростить обновления, такие как перебранка, так как изменения вносятся только в центральном расположении шаблона.

В этом уроке вы узнаете о компонентах шаблона и о том, как их можно включить в приложение Blazor.

Тип RenderFragment

Компонент шаблона предоставляет макет и логику для одного или нескольких фрагментов HTML-разметки. Html-код отрисовывается с помощью контекста, который предоставляет компонент шаблона. Компонент шаблона использует RenderFragment объект в качестве заполнителя, в который вставляется разметка во время выполнения.

Шаблон является обычным компонентом Razor. Чтобы использовать шаблон, потребляемый компонент ссылается на него, как и любой другой компонент. Имя ChildContent — это значение по умолчанию для RenderFragment параметра. Параметру можно присвоить другое имя, но это имя необходимо указать, когда страница проверки применяет шаблон.

Универсальные параметры RenderFragment<T>

По умолчанию RenderFragment класс выступает в качестве заполнителя для блока разметки HTML. Однако универсальный тип RenderFragment<TValue> можно использовать для отрисовки других типов контента с помощью параметра типа и предоставления логики для обработки указанного типа в компоненте шаблона.

Например, предположим, что требуется создать шаблон, отображающий элементы в коллекции. Можно использовать цикл foreach C# для выполнения итерации в коллекции и вывода найденных элементов. Однако коллекция может содержать данные любого типа, поэтому вам нужен универсальный способ отрисовки каждого элемента.

Чтобы написать компонент шаблона универсального типа, необходимо указать параметр типа в самом компоненте шаблона и в используемом компоненте шаблона. В следующем списке представлены общие характеристики компонентов шаблона универсального типа.

  • Параметр type в компоненте шаблона представлен с помощью директивы @typeparam . При необходимости компонент шаблона может иметь несколько параметров типа.
  • Шаблон, вероятно, определяет параметр, содержащий перечисленную коллекцию объектов типа, указанного параметром типа.
  • Шаблон также определяет ChildContent параметр на основе универсального RenderFragment типа, который принимает тот же параметр типа.

Дополнительные сведения см. в разделе ASP.NET Компоненты шаблона Core Blazor.

Проверьте свои знания

1.

Какой тип объекта параметра следует настроить в компоненте Blazor для совместного использования фрагмента HTML?

2.

Что такое имя параметра по умолчанию, которое фиксирует все разметки внутри компонента, не требуя создания другого тега?


Следующий урок: Упражнение. Повторное использование компонентов путем создания шаблона