我有3个组件。我想要的是从组件B调用组件C的New()方法。
以下代码可以实现此目的(我可以获得Console.Writeline)。但是UI没有更新。我尝试在New()方法中设置StateHaseChanged(),但是这给了我以下错误。非常感谢!
错误
WASM: System.InvalidOperationException:渲染句柄尚未分配。
ComponentA(侧边栏项)
错误
WASM: System.InvalidOperationException:渲染句柄尚未分配。
ComponentA(侧边栏项)
<NavLink href="@href">
<div @onclick="OnClick.InvokeAsync">@Text</div>
</NavLink>
@code {
[Parameter] public string Text { get; set; }
[Parameter] public EventCallback OnClick { get; set; }
}
组件B(侧边栏)
<ComponentA Text="Something" Onclick="@(() => componentC.New())" />
@code {
ComponentC componentC = new ComponentC();
}
组件C(页面)
@code {
public void New()
{
//Dostuff..
Console.WriteLine("Testing");
//StateHasChanged();
}
}
ComponentB
在内部使用了ComponentC
(在 @code 块中)。这是正确的吗? - Artak