使用标签帮助程序,您可以定义一个可以轻松编写内容的区域。例如,我可以制作一个引导卡标签帮手,并轻松呈现卡体标签内的任何内容。使用剃须刀组件该如何实现?
<div class="card">
<div class="card-header"></div>
<div class="card-body">
@*render content here*@
</div>
</div>
答案 0 :(得分:1)
可以使用称为RanderFragment的类来实现模板化的组件。它们的实现方式与参数属性相同,但是它们捕获在组件标签内声明的内容。
下面是默认Blazor项目的示例。我更新了SurveyPromt组件以接受这样的问题内容
<div class="alert alert-secondary mt-4" role="alert">
<span class="oi oi-pencil mr-2" aria-hidden="true"></span>
<strong>@Title</strong>
<span class="text-nowrap">
@ChildContent
<a target="_blank" class="font-weight-bold" href="https://go.microsoft.com/fwlink/?linkid=2127996">brief survey</a>
</span>
</div>
@code {
[Parameter]
public string Title { get; set; }
[Parameter]
public RenderFragment ChildContent { get; set; }
}
这是我将内容传递给“调查”组件的方式
<SurveyPrompt Title="How is Blazor working for you?">
<i class="carousel-control-next-icon"></i>Please take our survey below
</SurveyPrompt>
您也可以输入RenderFragment,在这里阅读有关它的更多信息: https://docs.microsoft.com/en-us/aspnet/core/blazor/templated-components?view=aspnetcore-3.1