我有一个带有MainLayout
页面的 Blazor 应用程序,它@Body
可以加载实际的页面内容。
在我的情况下Index.razor
是在页面内加载的MainLayout
。
有没有办法从父页面中的子页面(Index.razor)调用方法;MainLayout.razor
?
例子:
MainLayout.razor
<div class="content">
<ul class="menu">
<li>menu item 1</li>
</ul>
@Body
</div>
@code
{
public async Task Test()
{
await JsRuntime.InvokeAsync<object>("console.log", "test parent");
}
}
索引.razor
<h1>This is the index page</h1>
<button @onclick="(async () => await btn_clicked())">Call parent method</button>
@code
{
// Call method in MainLayout
public async Task btn_clicked()
{
await parent.Test();
}
}