当我了解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; }
}
然而,如果你传递的属性数量是未知的,那么你可以使用输入属性字典。