如何在angular2中的模块之间路由?

时间:2016-09-28 12:07:06

标签: javascript angular typescript angular2-routing

我正在使用angular2 Final进行开发。

我创建了3个模块。

  1. 的AppModule
  2. ProjectModule
  3. DesignerModule
  4. 以前我只有AppModule,其中我已经导入了RoutingModule&它运作良好。

    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]
    

    但是最近我为ProjectManager创建了单独的NgModule&设计器。

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

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

    我的路由不再有效了。

    任何输入?

1 个答案:

答案 0 :(得分:0)

而不是

export const routingComponents=[ProjectManagerComponent,DesignerComponent]

你可以

export const routing = RouterModule.forRoot(appRoutes);

由于app.module.ts已经从各自的模块中了解了ProjectManagerComponentDesignerComponent。剩下的就是教它去哪里找到它们。

你的app.module.ts内有

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