mas*_*ach 10 import angular-services angular-module angular
我已经习惯了Angular 2,但我有一些关于app.module.ts文件的问题.
例如:我导入我的自定义管道,然后我必须在我的app.components.ts文件中导入它
import { FirstPipePipe } from './first-pipe.pipe';
@NgModule({
declarations: [
AppComponent,
SecondComponent,
ThirdComponent,
FirstComponent,
FirstPipePipe
],
imports: [
BrowserModule, RouterModule.forRoot(appRoutes), HttpModule
],
providers: [FetchDataService],
bootstrap: [AppComponent] })
Run Code Online (Sandbox Code Playgroud)
然后我有了
imports: [
BrowserModule, RouterModule.forRoot(appRoutes), HttpModule
],
Run Code Online (Sandbox Code Playgroud)
为什么我要导入一些类而不是其他类?
为什么这里的提供者再次出现在 app.component.ts中
providers: [FetchDataService]
Run Code Online (Sandbox Code Playgroud)
基本上,我必须重写app.component.ts文件中的所有内容.
app.module.ts的目的是什么?
Tyl*_*ngs 11
模块是组织和分离代码的一种方式.您可以拥有多个模块并延迟加载某些模块.
您将任何其他模块导入该imports部分.
你声明你的任何组件declarations.必须在该模块中声明该模块路由中使用的任何组件.如果组件在另一个模块中使用,那么您只在其他模块中列出它们.
并且您在该providers部分提供您的服务.
模块还可以帮助控制依赖注入...您可以provide在组件级别或模块级别进行服务.在模块级别提供服务,创建要在整个模块中共享的服务实例.如果在组件级别提供服务,则它是该组件的唯一实例.最好只在一个级别提供服务以避免混淆 - 无论是在模块级别还是在组件级别(在您需要的每个组件中).我发现在大多数情况下,对于我自己来说,仅在模块级别提供服务是最好和最简单的.与之相同pipes,尽管您制作的任何组件/管道仍必须在其中声明declarations.
app.module.ts 的目的是什么?
1 -模块是应用程序的逻辑层。每个模块都在那里对事物进行逻辑打包,以便人们更容易理解和维护由多个模块组成的应用程序。例如,如果你正在做一个富应用程序,你应该有一个LoginModule,一个AuthenticationModule等等......
2 -您需要在模块中导入内容,以便 Angular 知道它将使用什么。基本上,您的LoginModule将需要 Angular FormModule,而AuthenticationModule可能不需要
3 -这将我们带到这里:因此AppModule应该只导入它链接到的其他模块,并提供全球需要的服务。您未来的LoginModule不需要提供服务,但是AuthenticationModule很可能需要提供AuthenticationService。
这些是基本概念,请尝试阅读官方文档,其中提供了有关此主题的大量知识:https : //angular.io/guide/ngmodule
| 归档时间: |
|
| 查看次数: |
5320 次 |
| 最近记录: |