Как визуализировать шаблоны в компонентах Blazor? - PullRequest
0 голосов
/ 18 июня 2019

Я пытался визуализировать шаблоны в Blazor с помощью C #.

Я просмотрел документы Microsoft. Они предложили использовать RenderFragment. Но я не могу найти правильный способ добиться этого.

1 Ответ

2 голосов
/ 18 июня 2019

Определите простой компонент 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

Надеюсь, это поможет ... Если у вас есть вопросы или что-то не понятноНе стесняйтесь спрашивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...