【发布时间】:2020-04-18 20:34:34
【问题描述】:
我有使用 VS Blazor 模板创建的基本 Blazor 应用程序。默认情况下,它会创建 MainLayout.razor 和 NavMenu.razor。 MainLayout 像这样托管 Navmenu:
<NavMenu/>
我需要传递一个值(从 MainLayout 到 Navmenu 的对象 - 以更新导航按钮。 我正在尝试使用 CascadingParameter,但似乎无法正常工作。
在 MainLayout.razor 我添加了:
<CascadingValue Value="@X" >
<NavMenu/>
</CascadingValue>
和
@code {
public string X { get; set; }
和
protected override async Task OnInitializedAsync()
{
X = "PASS SOMETHING";
在 NavMenu.razor 我添加了以下内容
@code {
[CascadingParameter]
string X { get; set; }
然后
protected override async Task OnInitializedAsync()
{
Console.WriteLine(X);
但 X 始终为 Null。有任何想法吗?我错过了什么?
【问题讨论】:
标签: blazor