在 Blazor WASM 启动时加载初始数据的最佳位置在哪里

时间:2021-02-03 03:04:51

标签: blazor webassembly

我正在构建一个 Blazor 应用程序,需要在应用程序启动时加载一些初始数据,以便我可以将数据放入 CascadingPerameter 以供其他组件使用。

我想知道在哪里调用服务来读取这些数据的最佳位置?

2 个答案:

答案 0 :(得分:1)

我建议您将您的服务注入 MainLayout 组件,并在 OnInitialized(Async) 方法中读取数据。但是如果服务可以在应用初始化的那个阶段读取数据,为什么不能将服务注入到需要它的组件中,而不是级联数据?

答案 1 :(得分:0)

一般来说,您应该将服务用于数据。服务只是通过依赖注入访问的类的实例。任何 UI 组件都可以访问该类的相同实例。服务的类型取决于数据的范围。如果它在应用程序范围内并且在 SPA 会话期间是固定的,请创建一个范围服务或单例服务(取决于您运行的是 WASM 还是服务器)并通过依赖注入共享它。如果是“页面”范围,请使用瞬态服务。

考虑 UI - 组件、数据 - 服务。

有关服务和 DI 的 MS 文档是 here

相关问题