javascript - 为什么要在 app.module.ts 中导入 { HttpClientModule }
问题描述
我一直在努力创建一个服务来发出 http 请求,因此我正在使用 Angular 提供的 HttpClientModule。我有 data.serivce.ts 文件,其中声明了服务,并且我正在导入 HttpClient,如下所示。
import { Injectable } from '@angular/core';
import { HttpClient} from '@angular/common/http'
@Injectable()
export class DataService {
constructor(private http:HttpClient) {
}
validateLogin(){
return this.http.get('https://someurl')
}
}
由于我在 app.module.ts 的 providers 数组中注入了 DataService 的依赖关系,所以我不明白为什么我需要在 app.module.ts 中再次导入 HttpClientModule
解决方案
您应该研究角度模块的工作原理。您的 app.module.ts 包含 AppModule 这是一个根模块。每个应用程序至少有一个模块,即根模块。如果您在 AppModule 中导入任何模块,则应用程序的每个组件都可以访问其(导入的模块)组件。
这就是为什么让 HttpClient 在应用程序中“无处不在”可用的原因:
在 AppModule 中导入 HttpClientModule。现在您可以在自己的服务或组件中使用定义在 HttpClientModule 中的服务、组件等。
推荐阅读
- python - 我正在编写一个程序来用python中的另一个字符串替换一些字符串
- angular - 在预期时区设置横幅
- javascript - 按下按钮时在 ReactJS 中的页面上添加文本
- java - 添加到列表时的JavaFX ListView空指针
- java - Firebase 存储图像检索 RecyclerView
- javascript - 如何在 HTML 中的每个项目之间打印具有延迟的列表
- java - 端口打开时tomcat服务器未启动
- c# - 如何编写循环来设置 sum[i] 的值并删除 sum[i] <= 0 的数据表列
- r - 基于值范围的ggplot2图形框(最小值最大值)
- python - 从段落中提取复杂的单词