2016-08-07 13 views
0

Aux route innerhalb kind route, weiß nicht, wie man es arbeiten lassen. Ich habe Stammkomponente und Routenkonfigurationsdatei wie:eckig 2 neue router rc4 kind aux route funktioniert nicht

root.routes.ts  
export const rootRoute:RouterConfig=[ 
     ...ChildrenRoute, 
     {path:'',component:ChildrenRootComponent}, 
     {path:'children-root',component:ChildrenRootComponent}, 
     {path:'other',component:OtherComponent'} 
    ]; 

template: 
      '<a routerLink='children-root'>Children root</a> 
      <a routerLink='other'>Other</a> 
      <router-outlet></router-outlet>' 

und ChildrenRootComponent haben FirstComponent und SecondComponent mit Routen-Konfigurationsdatei wie:

children.routes.ts  
    export const ChildrenRoute:RouterConfig=[ 
     {path:"",redirectTo:'/children-root',pathMatch:'full'}, 
     {path:'children-root',component:ChildrenRootComponent, 
       children:[ 
        {path:'',component:FirstComponent}, 
        {path:'first',component:FirstComponent}, 
        {path:'second',component:SecondComponent,outlet:'aux'} 
       ] 
     } 
    ]; 
template: 
     ' <a routerLink='first'>First</a> 
       <router-outlet></router-outlet> 
      <a routerLink='aux:second'>Second</a> 
       <router-outlet name="aux"></router-outlet>' 

Jetzt Route von Kinder root -> Second ok ist, aber Route Kinder Wurzel -> erste nicht anzeigen Fehler funktioniert:

Error: Cannot match any routes: 'children-root/second' 

Template ändern:

' <a routerLink='first'>First</a> 
      <router-outlet></router-outlet> 
    <a routerLink='(aux:second)'>Second</a> 
      <router-outlet name="aux"></router-outlet>' 

nicht arbeiten. Fehler:..

Error: Cannot match any routes: 'children-root/second)' 

achten hier ')' in Fehlermeldung, und kein '(' direkt gesetzt url als

localhost:4200/children-root/(aux:second) 

reload in Browser folgende und gut funktionieren, so denke ich, dass ich gesetzt Router falsch, suchen viele, nicht etwas darüber finden

Antwort

0

gelesen werden Es hat gerade behoben. Wir werden sehen, es in der kommenden RC.5 Arbeits

related GitHub issue

1

RC.4 nicht Router noch mit aux Routen unterstützt Versuchen Sie etwas wie folgt aus:..

<a href="/children-root/(aux:second)">Second</a>

+0

a href SecondComponent gehen, aber Browser ganze Seite neu zu laden, nicht nur SecondComponent in Router-Steckdose laden. – PengGang

+0

Dieser href sollte die Seite nicht neu laden. In meiner App benutze ich HashLocationStrategy und die URL ähnlich dieser lädt die Seite nicht: '' 'Second' '' –

+0

Dies ist immer noch ein Problem in RC.5 .. Ich frage mich, wenn dies gelöst werden könnte –

1

Rc4. RouterLink wird noch nicht richtig unterstützt. Sie können das gewünschte Ergebnis mit navigateByUrl oder manuellen 'a' Tag erreichen. Ich nehme an, dass Ihre erste Komponente sichtbar ist, wenn Sie versuchen, zur zweiten zu navigieren. Dann versuchen

this.router.navigateByUrl('/children-root/(first//aux:second)'); 

Oder

<a href="/children-root/(first//aux:second)">Second</a> 

Die Erklärung der Route URL Bildung kann bei this

+0

Wie wäre es mit rc1 und 3.0.0.alpha.x, die routerLink besser unterstützen? jemand benutzt? – PengGang

+1

3.0.0.beta2 ist das neueste für Router und keine frühere Version hat eine bessere Unterstützung. Rest der eckigen Paketversion ist unerheblich –

Verwandte Themen