Использование тегов <component>внутри бритвенных файлов Blazor - PullRequest
0 голосов
/ 10 марта 2020

Возможно ли рендерить <component> теги внутри .razor файлов. У меня есть требование, когда скрипт stati c должен отображаться внутри другого компонента Blazor. Итак, я создал теги сценария с использованием концепции BuildRenderTree и попытался добавить тег <component> с render-mode как Static. Но он не будет отображаться на веб-странице.

ScriptRender.razor

public class ScriptRender : ComponentBase
{
  [Parameter]
  public List<string> Source { get; set; }
  protected override void BuildRenderTree(RenderTreeBuilder builder)
  {
     base.BuildRenderTree(builder);
     foreach (var scriptPath in Source)
     {
        builder.OpenElement(0, "script");
        builder.AddAttribute(1, "src", scriptPath);
        builder.CloseElement();
     }           
   }
}

BlazorComponent.razor

<component type="typeof(ScriptRender)" render-mode="Static"></component>
// Rest of component rendering logics

Я знаю, теги <component> можно использовать на страницах layout.cs html. Не работает ли на страницах бритвы Blazor?

1 Ответ

1 голос
/ 10 марта 2020

Компонент Tag Helper не принадлежит Blazor. В Blazor нет понятия помощников тегов, но есть компоненты, и поэтому вы не можете встроить его в компонент Blazor. Компонент Tag Helper можно использовать только в файлах расширения .cs html. В контексте Blazor компонент Tag Helper используется в файле _Host.cs html, который фактически является страницей Razor, которая обрабатывает первоначальный запрос к приложению сервера Blazor, включая визуализацию приложения Blazor.

...