如何在Blazor中从组件向构造函数传递数据

3

我正在从 Razor 文件中调用组件,如下所示:

<BaseTable></BaseTable>

但是由于该组件没有无参数构造函数,因此请求时发生异常:

public class BaseTable:ComponentBase
{
    private readonly HttpClient _httpClient;
    public BaseTable(HttpClient httpClient)
      {
        _httpClient = httpClient;
      }
}

如何从 .razor 页面或调用者组件中访问组件的构造函数? 编辑:错误仍然持续存在。

你需要使用 @inject 来注入依赖项。请参考此链接 - Crowcoder
我想从类代码中访问 _httpClient,而不是在 .razor 页面中访问。 - FBY
使其对该类可用。 - Crowcoder
httpClient在类中为null。如何传递注入的客户端或如何在类中进行依赖注入? - FBY
1个回答

2
在这种情况下,我建议您在Blazor组件的顶部注入HttpClient:
@inject HttpClient Http

然后在代码中,您可以根据需要使用它,例如:
@code{
    private IService service;
    protected override async Task OnInitializedAsync()
    {     
        service = new Service(Http);      
    }
       
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接