首页 > 解决方案 > 正确初始化由 JavaScript 创建的 Blazor 实例

问题描述

我在 Blazor WASM 工作。我对在 Blazor 中创建新选项卡/窗口以及新选项卡的状态有一些疑问。

我通过 JSInterop 调用创建了一个新选项卡/窗口:

window.open('\anotherpage', windowName);

我希望新窗口是 Blazor WASM 沙盒的新实例。我注意到新实例似乎没有正确初始化。例如,如果我尝试访问在原始版本中工作的服务:

[Inject]
public SomeService someService { get; set; } //Singleton service started in program.cs

在原始版本中,这显然有效,但在新版本中,我得到一个访问 SomeService 的空异常。

这是否意味着新实例没有像通常那样初始化?我误解了这里发生的事情吗?有没有办法正确初始化服务,或者我只需要构建我需要的任何东西?

谢谢

标签: javascriptblazorblazor-webassembly

解决方案


看起来程序中的所有服务都是可用的,并且在 WASM 的所有重复实例中都进行了相同的初始化。我只是在那个特定页面上有一个初始化错误。


推荐阅读