【发布时间】:2018-10-12 23:04:49
【问题描述】:
我是 Angular 和 ES6 编写代码模型的新手。我一直在阅读有关 Angular 模块和 import 语句的文章,但问题很少
我来自 .NET 背景,可以关联组件、服务等中的导入语句
例如,
import { HttpClient } from '@angular/common/http';
getIncidentData(): Observable<any> {
return this._http.get('incidents.json');
}
我正在导入 HttpClient 模块并在我的代码中使用它的服务。或者简单地说,要使用其他类中定义的任何方法,我们需要先导入它。所以它可以理解
同样在 NgModule 装饰中,在 import 语句中,我们导入它们。因为 Angular 模块(作为一个特性)定义了哪些模块可以被其组件、服务等使用。
这是我的问题
- 在模块级别,我们执行 import 语句,但实际上我们并没有在那个地方使用来自它们的任何方法或变量,而是在单个组件、服务中使用它。为什么我们需要定义它那边?
- 如果我们在模块级别定义它,我们是否也需要在组件级别重复它。在下面的示例中,我在 appModule 中导入了 HttpModule,是否需要在服务中导入它?组件、服务继承模块会自动导入吗?
- 大多数外部模块的名称以“模块”结尾,但有些没有我们如何知道它是模块、组件或服务?
这里是一些示例
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { UitkModule } from '@uimf/uitk';
import { TableModule } from '@uimf/uitk/components/tables';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { CardComponent } from './card/card.component';
【问题讨论】:
-
@Stevethemacguy 是的.. 我经历了它,但有点困惑。你能提供更多信息吗
-
我会尽量回来直接回答你的问题,但下周之前我可能没有时间。只是想暂时帮助您指出正确的方向!