2016-09-28 50 views
4

我正在使用angular2 Final进行开发。如何在angular2模块之间进行路由?

我已经创建了3个模块。

  1. 的AppModule
  2. ProjectModule
  3. DesignerModule

以前我只的AppModule,其中我已经进口了以下RoutingModule &它工作得很好。对于ProjectManager &设计师

import {NgModule} from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import {ProjectManagerComponent} from './project-manager/project-manager.component'; 
import {DesignerComponent} from './designer/designer.component'; 

const appRoutes: Routes = [ 
    {path: '',redirectTo: 'project-manager',pathMatch: 'full'}, 
    { path: 'project-manager', component: ProjectManagerComponent }, 
    { path: 'designer/:id', component:DesignerComponent } 
]; 

@NgModule({ 
    imports:[RouterModule.forRoot(appRoutes)], 
    exports:[RouterModule] 
}) 
export class AppRoutingModule { } 
export const routingComponents=[ProjectManagerComponent,DesignerComponent] 

但最近我已经创建了独立的NgModules。

我已将ProjectManagerComponent,DesignerComponent内部的声明保存在各自的模块中。

我想知道是否可以使用相同的路由配置路由到这些模块,或者我是否需要更改某些内容。

我的路由不再工作。

任何投入?

+0

什么最终的解决方案? – Chetan

回答

0

代替

export const routingComponents=[ProjectManagerComponent,DesignerComponent]

你可以

export const routing = RouterModule.forRoot(appRoutes);

既然你app.module.ts已经知道ProjectManagerComponent,并从他们各自的模块DesignerComponent。剩下的就是教它去哪里找到它们。

的里面你app.module.ts你会

// All the other imports import {routing} from './app.routes;' @NgModule({ imports:[routing, /*Other Modules*/], })

相关问题