是否可以在<component>
文件中呈现.razor
标签。我有一个静态脚本需要在另一个Blazor组件内部呈现的要求。因此,我使用BuildRenderTree
概念创建了脚本标签,并尝试添加<component>
作为render-mode
的{{1}}标签。但是,它不会在网页中呈现。
ScriptRender.razor
Static
BlazorComponent.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();
}
}
}
我知道,<component type="typeof(ScriptRender)" render-mode="Static"></component>
// Rest of component rendering logics
标签可以在layout.cshtml页面中使用。不能在Blazor剃须刀页面上工作?
答案 0 :(得分:1)
组件标签助手不属于Blazor。 Blazor没有标签助手的概念,而是组件,因此您不能将其嵌入Blazor组件。您只能在.cshtml扩展文件中使用组件Tag Helper。在Blazor的上下文中,_Host.cshtml文件中使用了组件Tag Helper,该文件实际上是一个Razor页面,用于处理对Blazor Server应用程序的初始请求,包括Blazor应用程序的呈现。