2016-03-30 7 views
25

Ist es möglich, mehrere Routenparameter zu übergeben, z. wie müssen unter id1 und id2 zur realisierten component BÜbergeben mehrerer Routenparameter in Angular2

@RouteConfig([ 
    {path: '/component/:id :id2',name: 'MyCompB', component:MyCompB } 
]) 
export class MyCompA { 
    onClick(){ 
    this._router.navigate(['MyCompB', {id: "someId", id2: "another ID"}]); 
    } 
} 

Antwort

22

OK passieren einen Fehler .. es /:id/:id2

Wie dem auch sei dies in jedem Tutorial oder andere Frage Stackoverflow nicht das finden sein muss.

@RouteConfig([{path: '/component/:id/:id2',name: 'MyCompB', component:MyCompB}]) 
export class MyCompA { 
    onClick(){ 
     this._router.navigate(['MyCompB', {id: "someId", id2: "another ID"}]); 
    } 
} 
+0

hier ist Tutorial für gleiche im Routing-Bereich https sehen: // Winkel .io/docs/ts/neuste/cheatsheet.html –

+1

Ihre Antwort funktioniert nicht. – alsafoo

+0

Lot hat sich seit der Veröffentlichung der Antwort geändert .. Mit welcher Version von angular2 arbeiten Sie? in der Buildversion ng2.0.0: ' const myRoutes: Routen = [ {Pfad: 'compBPath /: ID1 /: ID2', Komponente: MyCompB} ]; export const myRouting: ModuleWithProviders = RouterModule.forChild (myRoutes); ' Und in Ihrem NgModule ' @NgModule ({ Importe: [myRouting], Erklärungen: [MyCompB], }) Export Klasse MyModule {} Export Klasse MyCompA { onClick() { diese ._router.navigate (['compBPath', 'val1', 'val2']); } } ' – user3869623

2
 new AsyncRoute({path: '/demo/:demoKey1/:demoKey2', loader:() => { 
     return System.import('app/modules/demo/demo').then(m =>m.demoComponent); 
     }, name: 'demoPage'}), 
     export class demoComponent { 
     onClick(){ 
      this._router.navigate(['/demoPage', {demoKey1: "123", demoKey2: "234"}]); 
      } 
     } 
9

Wie detailliert in diesen answer ist im Zusammenhang mayur & user3869623 Antwort ist jetzt zu einem veralteten Router. Sie können nun mehrere Parameter übergeben, wie folgt:

Router zu nennen:

this.router.navigate(['/myUrlPath', "someId", "another ID"]); 

In routes.ts:

{ path: 'myUrlpath/:id1/:id2', component: componentToGoTo}, 
Verwandte Themen