我已经使用angular CLI创建了一个模块,而忘记了在创建时添加--routing,现在我想向其中添加路由模块。
ng init --routing
不会在角度CLI版本1.1.1中提供帮助
那根本不是问题。
只需手动添加路由。
所有这一切的--routing
标志呢,除了加入<router-outlet></router-outlet>
的app.component.html
,是加Q RouterModule.forRoot()
在被称为一个独立的模块调用AppRoutingModule
,并且包括在该模块imports
中AppModule
。
因此,在中app.module.ts
,它增加AppRoutingModule
了imports
您的AppModule
。
在AppRoutingModule
中定义为app-routing.module.ts
,其中创建从该模板。
我要在这里复制它很小:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{
path: '',
children: []
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
该{path: '', children:[]}
只是一个占位符,你有望取代(我知道,因为我把它添加到源代码)。它只是确保路由器在没有<router-outlet>
任何路由时不会抱怨。
那么,回到问题上,您应该怎么做?将文件复制到您的项目中,使其看起来像原始的CLI,然后将其添加AppRoutingModule
到您AppModule
的imports
...
或者只是添加RouterModule.forRoot([/* routes here */])
到您AppModule
的中imports
。它仍然可以正常工作,并且内置了对延迟加载的支持,其他一切都很好。
聚苯乙烯
请记住,要添加子路由,ng generate module Foo --routing
无论是否--routing
与该标志一起使用,始终可以通过路由生成更多模块ng new
。没有配置或任何魔术担心。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句