无法从另一个模块跳转

时间:2017-01-19 14:40:40

标签: angular router

我是Angular 2的新手。我在指令中做了所有事情,但是出了点问题:我无法在外部模块中加载定义/路由的组件..

Plnkr - 这段代码非常简单。只有3个链接和几个空组件。 (app组件和模块组合成一个app.ts以简化)

请查看 products.module.ts 。有一条线:

@NgModule({
  imports: 
  [ 
    RouterModule.forChild(
    [
      { path: 'products', component: ProductsComponent }, // <--- this goes to NotFoundComponent :(
    ])
  ],
  declarations: [ ProductsComponent ]
})

我哪里出错?

1 个答案:

答案 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