Общие сведения о компонентах шаблона
Компоненты шаблона, которые можно повторно использовать в нескольких приложениях, предоставляют основу проверки макета и логики для настройки элемента пользовательского интерфейса. Компоненты шаблонов применяют стандартизованную структуру в веб-приложении, определяя общие элементы и применяя их ко всем страницам. Шаблоны могут упростить обновления, такие как перебранка, так как изменения вносятся только в центральном расположении шаблона.
В этом уроке вы узнаете о компонентах шаблона и о том, как их можно включить в приложение Blazor.
Тип RenderFragment
Компонент шаблона предоставляет макет и логику для одного или нескольких фрагментов HTML-разметки. Html-код отрисовывается с помощью контекста, который предоставляет компонент шаблона. Компонент шаблона использует RenderFragment объект в качестве заполнителя, в который вставляется разметка во время выполнения.
Шаблон является обычным компонентом Razor. Чтобы использовать шаблон, потребляемый компонент ссылается на него, как и любой другой компонент. Имя ChildContent
— это значение по умолчанию для RenderFragment
параметра. Параметру можно присвоить другое имя, но это имя необходимо указать, когда страница проверки применяет шаблон.
Универсальные параметры RenderFragment<T>
По умолчанию RenderFragment
класс выступает в качестве заполнителя для блока разметки HTML. Однако универсальный тип RenderFragment<TValue> можно использовать для отрисовки других типов контента с помощью параметра типа и предоставления логики для обработки указанного типа в компоненте шаблона.
Например, предположим, что требуется создать шаблон, отображающий элементы в коллекции. Можно использовать цикл foreach
C# для выполнения итерации в коллекции и вывода найденных элементов. Однако коллекция может содержать данные любого типа, поэтому вам нужен универсальный способ отрисовки каждого элемента.
Чтобы написать компонент шаблона универсального типа, необходимо указать параметр типа в самом компоненте шаблона и в используемом компоненте шаблона. В следующем списке представлены общие характеристики компонентов шаблона универсального типа.
- Параметр type в компоненте шаблона представлен с помощью директивы
@typeparam
. При необходимости компонент шаблона может иметь несколько параметров типа. - Шаблон, вероятно, определяет параметр, содержащий перечисленную коллекцию объектов типа, указанного параметром типа.
- Шаблон также определяет
ChildContent
параметр на основе универсальногоRenderFragment
типа, который принимает тот же параметр типа.
Дополнительные сведения см. в разделе ASP.NET Компоненты шаблона Core Blazor.