【发布时间】:2019-12-18 16:03:51
【问题描述】:
给定MainView.razor,其中包含需要重用的代码,可重用代码被移动到NewComponent.razor。 NewComponent 需要一个参数,在下面的示例中为 Route route。参数通过参数规范传递。
MainView.razor
<NewComponent route="@route" />
NewComponent.razor 被扩充,以便在控制台上记录任何更改。
NewComponent.razor
@code
{
Route _route;
[Parameter]
public Route route
{
get { return _route; }
set
{
Console.WriteLine("XXXXXXXXXXXXXXXX Route = " + value.Name);
_route = value;
}
}
protected override Task OnParametersSetAsync()
{
Console.WriteLine("YYYYYYYYYYYYYYYZZ");
return base.OnParametersSetAsync();
}
}
但是,从未指定控制台输出。更新中Resource.razor
Route _route;
[Parameter]
public Route route
{
get { return _route; }
set
{
Console.WriteLine("Route changing to = " + value.Name);
_route = value;
StateHasChanged();
}
}
输出路线正在改变,但 NewComponent 的控制台输出永远不会发生。为什么 NewComponent 没有更新?
【问题讨论】:
标签: c# asp.net-core blazor blazor-client-side