【问题标题】:Blazor client side [inject] properties always return nullBlazor 客户端 [inject] 属性始终返回 null
【发布时间】:2020-05-24 18:27:20
【问题描述】:

在剃须刀页面中,我使用的是@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage,它运行良好。但是从非剃刀连接的类(服务和助手)使用

[Inject]
protected Blazored.LocalStorage.ISyncLocalStorageService localStorage { get; set; }

总是返回空值。是否需要额外的东西才能让 DI 在非 Razor 文件中工作?还是我必须通过构造器从 UI 层一直向下推送所有 DI?

【问题讨论】:

    标签: dependency-injection blazor blazor-client-side


    【解决方案1】:

    以下内容仅基于我自己的经验,所以我可能会被证明是错误的......

    只有构造函数注入在非剃刀对象中有效。因此,您不能定义使用 Inject 属性注释的属性并期望它填充给定对象的实例。改用构造函数注入。

    但是,对于 Razor 对象,您可以使用 @inject 指令将服务注入 Razor 组件,但您也可以在 razor 组件类定义 (.razor.cs ) 和 @code 块 ( .razor )。

    希望这会有所帮助...

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-29
      • 2020-09-13
      • 2016-04-10
      • 2012-10-31
      相关资源
      最近更新 更多