2017-09-05 4 views
0

definieren, wie Sie wissen, in Winkel Hierarchie Routing erstellen definieren wir eine Liste wie unten:Wie Hierarchie Routing in Winkelmodule

const crisisCenterRoutes: Routes = [ 
    { 
    path: 'crisis-center', 
    component: CrisisCenterComponent, 
    children: [ 
     { 
     path: '', 
     component: CrisisListComponent, 
     children: [ 
      { 
      path: ':id', 
      component: CrisisDetailComponent 
      }, 
      { 
      path: '', 
      component: CrisisCenterHomeComponent 
      } 
     ] 
     } 
    ] 
    } 
]; 

Auch verwenden wir Router-Ausgang in jeder Ebene der Vorlage Komponenten als Container um die entsprechende Komponente zu rendern.

Angenommen, jede Routing-Ebene wurde in einzelnen Modulen definiert und alle Module im übergeordneten Modul importiert.

Wie kann man die obige Routing-Hierarchie definieren und mehrere Router-Ausgänge in jedem Modul verwenden?

+1

Wenn eine Route mit einem leeren Pfad keine untergeordneten Routen und keine Umleitung hat, sollte sie 'pathMatch: 'full' haben. Ihre 'CrisisCenterHomeComponent' passt immer und' CrisisDetailComponent' passt nie. –

+0

Das Problem ist das Laden von Kindern, die in anderen Modul definiert ist. –

+0

Ich weiß, ich habe es nicht als Antwort hinzugefügt. Sie sollten sich dennoch bewusst sein, dass 'path: ''' einige spezielle Überlegungen benötigt. Es stimmt immer überein, wenn 'pathMatch: 'full' nicht hinzugefügt wird, und dann wird die Suche mit ihren untergeordneten Routen fortgesetzt, nicht mit Geschwistern. –

Antwort

0

Ich habe Lazy-Lading verwendet, um Hierarchie-Routing in einem Projekt zu definieren, in dem alle Komponenten zu einzelnen Modulen getrennt sind, aber es hat nicht funktioniert. Ich hatte die Webpack-Konfiguration selbst erstellt, um Pakete zu erstellen. Das Problem war, habe ich nicht in Webpack dieses Laders verwenden:

angular-router-loader 

As described, Winkel-Router-loader Loader Typoskript hinzugefügt werden müssen.