Blazor
一个免费的开源 Web 框架,使开发人员能够使用 Microsoft 开发的 C# 和 HTML 创建 Web 应用。
24 个问题
大家好,我在这里问了如何保存变量状态,得到了很长的答案,我想知道在Blazor中是否可以在应用程序结构的某处定义一个变量,以便我可以从任何组件访问它。类似于控制台程序中在主方法中定义变量。非常感谢。
注意: 此问题总结整理于:Blazor accessing global variable issue
你好,
我们可以使用级联值和参数来实现全局变量功能,我们可以在根部(MainLayout组件)定义级联值,这样我们就可以在任何其他子组件中使用它。
我按照文档的说明编写了以下代码。
@inherits LayoutComponentBase
<div class="page">
<div class="sidebar">
<NavMenu />
</div>
<main>
<div class="top-row px-4">
<a href=https://docs.microsoft.com/aspnet/ target="_blank">About</a>
</div>
<CascadingValue Value="@golbalVaule">
<article class="content px-4">
@Body
</article>
</CascadingValue>
</main>
</div>
@code{
GolbalValue golbalVaule = new GolbalValue { id = 1, name = "user1" };
}
这是我的Index 组件:
@page "/"
<PageTitle>Index</PageTitle>
<h1>Hello, world!</h1>
Welcome to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
<div>@golbalValue.name</div>
@code{
[CascadingParameter]
public GolbalValue? golbalValue { get; set; }
}
截图如下:
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。