C语言 传递属性到Blazor组件



当我了解react中的组件时,我可以尝试这样做

<Component {...properties} />现在,我学习Blazor。我怎么能传递属性给一些组件??

这是非常可能的,这正是Blazor组件的设计方式。在互联网上快速搜索可以找到以下有用的文档和文章;

  • https://learn.microsoft.com/en us/aspnet/core/blazor/components/?view=aspnetcore - 5.0 #参数
  • https://blazor-tutorial.net/component-parameters
  • https://www.pragimtech.com/blog/blazor/blazor-component-parameters/
  • https://chrissainty.com/3-ways-to-communicate-between-components-in-blazor/

在组件定义中使用[Parameter]。例如,如果您有一个像这样的Blazor组件

// BlazorComponent.razor
<div class="@Class">
@ChildContent
</div>
@code {
[Parameter] public string Class { get; set; }
[Parameter] public RenderFragment ChildContent { get; set;}
}

你可以像这样使用

<BlazorComponent Class="some-class">
<p>Some Content</p>
</BlazorComponent>

生成类似

的html
<div class="some-class">
<p>Some Content</p>
</div>

如果你已经知道你传递的参数的目的是什么,即一个特定于样式的参数,那么你可以直接使用参数,如

调用组件

<MyComponent Style="border:0;" />

组件代码:

<input type="submit" style="@Style" />
@code {
[Parameter] public string Style { get; set; }
}

然而,如果你传递的属性数量是未知的,那么你可以使用输入属性字典。

相关内容

  • 没有找到相关文章

最新更新