我是Angular 2的新手。我在指令中做了所有事情,但是出了点问题:我无法在外部模块中加载定义/路由的组件..
Plnkr - 这段代码非常简单。只有3个链接和几个空组件。 (app
组件和模块组合成一个app.ts以简化)
请查看 products.module.ts 。有一条线:
@NgModule({
imports:
[
RouterModule.forChild(
[
{ path: 'products', component: ProductsComponent }, // <--- this goes to NotFoundComponent :(
])
],
declarations: [ ProductsComponent ]
})
我哪里出错?
答案 0 :(得分:2)
在app.module
切换路由模块
imports:
[
BrowserModule,
/* RouterModule.forRoot([
{ path: 'welcome', component: WelcomeComponent },
{ path: 'contact', component: ContactComponent },
{ path: '', component: TestComponent },
{ path: '**', component: NotFoundComponent },
]),*/
ProductsModule, //<-- this needs to be above main routing module
AppRoutingModule
]
由于AppRoutingModule
高于ProductsModule
,/products
{ path: '**', component: NotFoundComponent },
路由
固定的Plunker:https://plnkr.co/edit/yOewgV8rtNhFJlrTWTaC?p=preview