2017-04-22 7 views
2

Ich bin auf der Homepage/home und wollen Kinder/unitsheetAngular2: Wie steuere ich Kinder von component.ts

normalerweise schreiben wir this.route.navigate ([ 'nach Hause']) navigieren; aber wie schreibe ich es von Kindern Weg als localhost zu erhalten: 4200/home/unitsheet

const ROUTER_DATA: Routes = [ 
 
    { path:'login', component: LoginComponent}, 
 
    { path:'home', component: HomeComponent, children: [ 
 
     { path:'unitsheet', component: unitComponent}, 
 
    ]}, 
 
    { path:'', redirectTo:'login', pathMatch: 'full'} 
 
]

Antwort

4
this.router.navigate('unitsheet') 

oder

<a [routerLink]="'unitsheet'">unitsheet</a> 

oder können Sie absolute Pfade verwenden

<a [routerLink]="'/home/unitsheet'">unitsheet</a> 
+2

I denke, dass andere '' '' wrapper nicht brauchen, da es eine einfache 'string' ist (wir wollen sie nicht auswerten) –

+0

Sie haben recht,' [] 'wird nicht für einfache Zeichenfolgen benötigt. Ich denke, es ist eine gute Übung, sie trotzdem zu verwenden, weil sie sonst dem DOM als unbrauchbares Attribut hinzugefügt werden und das DOM unnötig aufbläht. Ich selbst habe oft darauf hingewiesen, dass '[]' eigentlich nicht notwendig ist. –

+0

aber dieser Typ '[routerLink] ="/home/unitsheet "' wird einen Fehler AFAIK werfen, da der Parser versuchen wird '/ home/unitheet' als Ausdruck auszuwerten (ist kein gültiger Ausdruck, richtig?). –

Verwandte Themen