我是Blazor的新手(dotnet 8 rc2),想知道为什么像TeamStandings这样的子组件可以加载空的CascadingParameter currentSeason?
DataLayout:
父页面:
在TeamStandings组件上:
DataLayout:
@if (currentSeason!=null && currentSeason.ActiveCategory.IsActive)
{
<CascadingValue Value="@currentSeason">
@Body
</CascadingValue>
}
@code {
[CascadingParameter]
RouteData RouteData { get; set; }
public string? Slug { get; set; }
public CurrentSeasonModel? currentSeason { get; set; } = new();
protected override async Task OnInitializedAsync()
{
if (RouteData.RouteValues.TryGetValue("Slug", out var slug) == true)
{
// update currentSeason
}
}
}
父页面:
@page "/abc"
@if (currentSeason != null && currentSeason.ActiveCategory.IsActive)
{
<TTSWeb.Blazor.Client.Pages.League.RecentFixtures />
<TTSWeb.Blazor.Client.Pages.League.TeamStandings />
}
@code {
[CascadingParameter]
public CurrentSeasonModel? currentSeason { get; set; }
}
在TeamStandings组件上:
![输入图像描述](https://istack.dev59.com/dZDjH.webp)