【发布时间】:2020-04-04 05:20:21
【问题描述】:
我有一个包含许多页面的项目。结构是: 包含菜单、标题和上下文的父页面。任务是将一些字符串从上下文页面发送到标题。问题是:如何在@Body 上使用@bind-PropertyName?
MainLayout.razor:
@inherits LayoutComponentBase
<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
<Header PageTitle="@_PageTitle" />
</div>
<div class="content px-4">
@Body
</div>
</div>
@code{
private string _PageTitle { get; set; }
}
头组件:
<div>Title: @PageTitle</div>
@code {
[Parameter]
public string PageTitle { get; set; }
}
上下文组件:
@page "/plainpage"
<div> @PageTitle </div>
<Content />
@code{
[Parameter]
public string PageTitle { get; set; } = "Plain Page";
public EventCallback<string> Initialized { get; set; }
protected override void OnInitialized()
{
OnPageInitialized();
}
private Task OnPageInitialized()
{
return Initialized.InvokeAsync(PageTitle);
}
}
如果我有<PlainPage /> 组件而不是@Body,我会使用<PlainPage @bind-PageTitle="_PageTitle" />。但是我该如何使用@Body 呢?
【问题讨论】: