【问题标题】:Usage of <component> tags inside Blazor razor files在 Blazor razor 文件中使用 <component> 标记
【发布时间】:2020-06-22 00:35:13
【问题描述】:

是否可以在.razor 文件中呈现&lt;component&gt; 标签。我有一个需要在另一个 Blazor 组件中呈现静态脚本的要求。因此,我使用BuildRenderTree 概念创建了脚本标签,并尝试将&lt;component&gt; 标签与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

我知道,&lt;component&gt; 标签可以在 layout.cshtml 页面中使用。不在 Blazor 剃须刀页面中工作?

【问题讨论】:

标签: blazor blazor-server-side blazor-client-side


【解决方案1】:

组件 Tag Helper 不属于 Blazor。 Blazor 没有标签助手的概念,而是组件,因此您不能将其嵌入到 Blazor 组件中。您只能在 .cshtml 扩展文件中使用组件 Tag Helper。在 Blazor 的上下文中,组件 Tag Helper 用于 _Host.cshtml 文件中,该文件实际上是一个 Razor Page,用于处理对 Blazor 服务器应用程序的初始请求,包括 Blazor 应用程序的呈现。

【讨论】:

    猜你喜欢
    • 2020-03-08
    • 2021-03-28
    • 2021-11-11
    • 2020-05-06
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 2020-05-03
    • 2022-09-28
    相关资源
    最近更新 更多