Pat*_*ryk 15 angular-services angular angular-standalone-components
我有一个问题,我想重写我的应用程序代码并将主模块更改为 main.ts 中指向的主根独立组件。
一切正常,但我对 HttpClientModule 有问题。我在 root 中提供的一项服务中使用 HttpClient。在 MainComponent 中,我将 HttpClientModules 添加到导入数组中,但随后出现错误,表示我没有向应用程序提供 HttpClientMoudle,并且此服务无法使用它。
Uncaught (in promise): NullInjectorError: R3InjectorError(Standalone[MainComponent])[MainService -> MainService -> HttpClient -> HttpClient]:
NullInjectorError: No provider for HttpClient!
Run Code Online (Sandbox Code Playgroud)
当我将此 HttpClientModule 添加到 AppRoutingModule 时,我也将其添加到 main.ts 中
bootstrapApplication(MainComponent, {
providers: [importProvidersFrom(RoutingModule)],
});
Run Code Online (Sandbox Code Playgroud)
效果很好,服务没有任何问题。
这是包含此问题的基本示例的代码,有人可以解释为什么导入到根独立组件在这种情况下不起作用,但导入到 RoutngModule 可以解决问题吗?
Pat*_*ryk 54
问题解决了。在这种情况下,我必须添加provideHttpClient()到 main.ts 文件中 bootstrapApplication() 函数中的提供程序数组。
import { provideHttpClient } from "@angular/common/http";
bootstrapApplication(AppComponent, {
providers: [
importProvidersFrom(AppRoutingModule),
provideHttpClient()
]
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9577 次 |
| 最近记录: |