ove*_*nge 1 typescript angular-module angular
app.module.ts通过在下面添加条目导入模块,
@NgModule({
declarations: [
AppComponent,
HomeComponent,
DirectoryComponent,
FilterPipe,
LoggingService
],
imports: [
FormsModule,
BrowserModule,
HttpClientModule,
routing
],
providers: [],
bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)
但是RouterModule直接用于../src/app/app.routes.ts,如下所示,
import {Routes, RouterModule} from "@angular/router";
export const routes:Routes = [
/* Each route will be an object {}*/
{path: 'directory', component: DirectoryComponent},
{path: '', component: HomeComponent}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(routes);
Run Code Online (Sandbox Code Playgroud)
没有进入RouterModule在@NgModule(imports: [..]).
1)导入角度模块有不同的方法吗?
2)角度模块的导入是否与打字稿模块的导入不同?
在您routes.ts要创建称为常量routes,分配给它的RouterModule,然后导出.
在您的应用程序中,您将导入routes常量,这只是对模块的引用,就像其他任何一样:
@NgModule(
.... imports: [
routing, // here you are using the const
],
....
)
Run Code Online (Sandbox Code Playgroud)
你在这条线上分配它:
export const routing: ModuleWithProviders = RouterModule.forRoot(routes);
Run Code Online (Sandbox Code Playgroud)
您可以改为使用导出routes并在app.module中使用它:
@NgModule(
.... imports: [
RouterModule.forRoot(routes),
],
....
Run Code Online (Sandbox Code Playgroud)
第一种是在使用之前将其分配给变量(well const).
Typescript模块与Angular模块不同.Typescript模块允许您在打字稿文件之间共享打字稿对象.你可以在任何地方使用它们,即使是非角度打字稿.它们是import { something } from 'myfile.ts'并且它被转换为JavaScript ES5 require语句,就像ES6导入一样.根据我的经验,没有多少人将这些称为模块.
角度模块是角度组件,服务,指令和管道等的模块化块,因此编译器知道如何处理它们,您可以轻松地从它们组成角度应用程序.如果有人在谈论角度和模块,那么很可能他们正在谈论这些因为打字稿模块是如此根本 - 每个打字稿文件将在顶部有多个导入.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |