Ger*_*rit 2 c# blazor blazor-server-side blazor-client-side
所以使用组件看起来像这样:
<ParentListComponent Header="Test">
<ChildListItemComponent Name="1"/>
<ChildListItemComponent Name="2"/>
<ChildListItemComponent Name="3"/>
<ChildListItemComponent Name="4"/>
</ParentListComponent>
Run Code Online (Sandbox Code Playgroud)
而ParentListComponent会是这个样子:
@foreach(var childComponent in listComponents){
@childComponent
}
@code{
[Parameter]
Public List<ChildListItemComponent> listComponents { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过将它作为 ChildContent 传递来轻松呈现它,如下所示,但我真的很想保留列表,以便我可以轻松地从父项访问每个项目。
[Parameter]
public RenderFragment ChildContent { get; set; }
Run Code Online (Sandbox Code Playgroud)
我觉得我只是缺少这里的语法,但不幸的是我找不到这方面的信息。如果您能提供帮助,我将不胜感激。
你会创建一个ParentComponent和一个ChildComponent. 的标记ParentComponent将具有以下内容
<CascadingValue Value=this>
@ChildContent
</CascadingValue>
@code
{
[Parameter]
public RenderFragment ChildContent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在你的孩子可以像这样访问父母
[CascadingParameter]
public ParentComponent ParentComponent { get; set; }
Run Code Online (Sandbox Code Playgroud)
在OnInitialized你可以调用的方法ParentComponent.RegisterChild(this);中,IDisposable.Dispose你可以调用ParentComponent.UnregisterChild(this);
这是您将自己添加到父类中以保留 ChildComponent 列表的两种方法。
有一个关于Blazor大学全步行通过这里。
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |