如何在Blazor中单击按钮以渲染组件?

时间:2020-09-10 23:52:59

标签: blazor blazor-server-side blazor-client-side blazor-webassembly asp.net-blazor

我是SPA框架和Blazor的新手,所以尽管我在其他任何地方都找不到答案,但这可能是一个容易回答的问题。

我想在单击特定按钮后立即在页面上的某个位置显示组件。我目前已经以这种方式实现它:

@page "/test"

<button type="button" @onclick="() => showSignUpComponent = true">
    Show Sign Up Window
</button>

@if (showSignUpComponent)
{
    <SignUp />
}

@code {
    bool showSignUpComponent;
} 

我想知道在Blazor中是否有更好,更清洁的方法(即正确的方法)来做这样的事情,或者这是常见且标准的方法吗?

1 个答案:

答案 0 :(得分:3)

您所做的一切很好,我敢说这是标准的做法!

如果您有不同的方案,也可以用略有不同的方式来执行此操作。例如,您可以定义一个字符串变量而不是布尔变量,并在其中存储一些相关信息,等等。

但是,无需赘述。您所做的一切都很好,这表明您确实了解到,触发UI事件(例如“ click”)时,将重新呈现组件,并且无需调用StateHasChanged ... < / p>