Определите простой компонент FilmList, который просто зацикливается на переданных фильмах. Свойство FilmTemplate является параметром шаблона.Параметры шаблона - это то, что отличает шаблонные компоненты от обычных компонентов.
Параметры шаблона позволяют определить область компонента, которая будет использовать шаблон, предоставленный потребителем компонента при рендеринге.Они могут быть определены как RenderFragment или RenderFragment.Я немного расскажу об общей версии.
FilmList.razor:
<div>
@foreach (var film in Films)
{
@FilmTemplate(film)
}
</div>
@code{
[Parameter] RenderFragment FilmTemplate { get; set; }
[Parameter] IReadOnlyList Films { get; set; }
}
Использование:
<FilmList Films="@Films">
<FilmTemplate>
<div>@context.Title (@context.YearReleased)</div>
</FilmTemplate>
</FilmList>
@code {
public List Films { get; set; } = new List {
new Film("Pulp Fiction", "1994", "pulp-fiction.jpg"),
new Film("Bad Boys II", "2003", "bad-boys2.jpg"),
new Film("The Fast and the Furious", "2001", "tfatf.jpg"),
new Film("The Greatest Showman", "2017", "greatest-showman.jpg")
};
}
Для использования компонента FilmList мы имеемопределить шаблон для фильма.В нашем случае это делается с использованием элементов, которые соответствуют имени параметра шаблона.
Источник: https://visualstudiomagazine.com/articles/2018/12/01/blazor-templated-components.aspx
Надеюсь, это поможет ... Если у вас есть вопросы или что-то не понятноНе стесняйтесь спрашивать.