我是Angular和ES6编写代码模型的新手。我一直在阅读有关角度模块和导入语句的文章,并没有几个问题
我来自.NET背景,可以在组件,服务等中关联导入语句
例如
import { HttpClient } from '@angular/common/http';
getIncidentData(): Observable<any> {
return this._http.get('incidents.json');
}
我正在导入HttpClient模块并在我的代码中使用它的服务。或者,简单地,要使用其他类中定义的任何方法,我们需要首先将其导入。.因此它是可以理解的
以及在NgModule装饰中的import语句中,我们也将它们导入。.因为有角度的模块(作为功能部件)定义了哪些组件,服务等可以使用的模块。 / p>
这是我的问题
这是一些示例
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';
答案 0 :(得分:0)
回答您的问题
在模块级别,我们执行import语句,但实际上我们在那个位置没有使用它们的任何方法或变量,而是仅在单个组件(服务)上使用它。为什么需要定义它在那边?
- 模块就像是多个组件的容器
- 组件级别:仅需要导入所需组件(从导入的模块中)
如果我们在模块级别定义它,是否还需要在组件级别重复它。在下面的示例中,我在appModule中导入了HttpModule,是否需要在服务中导入它?组件,服务继承模块会自动导入吗?
- 仅在代码中调用过
- 突出显示,然后按Ctrl + Space->将自动导入模块。但是,有时自动导入会导入错误的路径。你需要 进行研究。
大多数外部模块的名称都以“模块”结尾,但是有些我们不知道它是模块,组件还是服务?
- 元数据用于确定哪个。
- 很多时候实施命名标准。就像在类名末尾添加服务。例如BaseService
- @Injectable()->最有可能是一项服务
- @NgModule ->模块
- @Component ->组件
在此处查看教程:https://angular.io/tutorial