如何在子组件中访问父组件类型?

sw1*_*337 2 c# asp.net-core blazor

在子组件中,如何访问对父组件的引用?如果子级嵌套在特定类型的父级中,我需要在子级中执行特定操作。

<MyParentComponent>
    <MyChildComponent></MyChildComponent>
</MyParentComponent>
Run Code Online (Sandbox Code Playgroud)

Ven*_*sky 5

有很多方法可以做到这一点。

如果您只需要父级的一个属性/方法,则只需传递该属性/方法的参数即可,如文档中所示。

如果你想要整个父级,你可以使用 aCascadingValue并传递this

例如

MyParentComponent.razor

<CascadingValue Value="this">
    @ChildContent
</CascadingValue>
Run Code Online (Sandbox Code Playgroud)

在 中MyChildComponent,您可以通过 访问它CascadingParameter

[CascadingParameter]
public MyParentComponent MyParentComponent { get; set; }
Run Code Online (Sandbox Code Playgroud)

如果子组件不是父组件的直接子组件,并且您不想在嵌套组件之间传递多个参数,那么这将是获取父引用的好方法。