无法在Blazor.net(Core 3.0 alpha 6)中进行动态导航(由Http Get方法加载)
我尝试将默认的blazor项目模板的“ MainLayout.razor”文件包含以下动态循环。
the @body content was loaded correctly but navigation menu remains empty...
@inherits LayoutComponentBase
@using Pegasus.Shared
@inject HttpClient Http
<div class="sidebar">
@if (categories == null)
{
<p><em>Loading...</em></p>
}
else
{
@foreach (var category in categories)
{
<div>@category.Name</div>
}
}
</div>
<div class="main">
<div class="top-row px-4">
<a href="http://blazor.net" target="_blank" class="ml-md- auto">About</a>
</div>
<div class="content px-4">
@Body
</div>
</div>
@code{
gb_Category[] categories;
protected override async Task OnInitAsync()
{
Console.WriteLine("Test");
var storeId = new Guid("c72d9757-98d5-4da2-89ea-2ffe44490162");
categories = await Http.GetJsonAsync<gb_Category[]>($"api/Category/actives/{storeId}");
}
}
没有错误消息,但导航菜单为空,我不知道为什么现在如此...
如果我将其放入@page“ /”中,但在MainLayout的@body中,则会运行相同的代码... 目标是通过Http动态加载导航项,然后在主要数据(@page)中导航。
Thx