2016-03-30 17 views
25

में एकाधिक मार्ग पैराम पास करना क्या एकाधिक मार्ग पैराम पास करना संभव है। की तरह नीचे एक गलती का एहसास component BAngular2

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

उत्तर

22

ठीक करने के लिए id1 और id2 पास करनी होगी .. यह /:id/:id2

वैसे भी किसी भी ट्यूटोरियल या अन्य StackOverflow सवाल में इस नहीं मिला हो गया है।

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

के लिए एक ही देखने रूटिंग अनुभाग https में ट्यूटोरियल है .io/दस्तावेज़/ts/नवीनतम/cheatsheet.html –

+1

आपका उत्तर काम नहीं करता है। – alsafoo

+0

जवाब प्रकाशित होने के बाद से लोट बदल गया है .. कोणीय 2 का कौन सा संस्करण आप काम कर रहे हैं? ng2.0.0 रिलीज बिल्ड में: ' मेरा रूट्स: रूट्स = [ {पथ: 'compBPath /: id1 /: id2', घटक: MyCompB} ]; निर्यात कॉन्स myRouting: मॉड्यूल WithProviders = RouterModule.forChild (myRoutes); ' और अपने NgModule में ' @NgModule ({ आयात: [myRouting], घोषणाओं [MyCompB], }) निर्यात वर्ग MyModule {} निर्यात वर्ग MyCompA { onClick() { इस ._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

के रूप में विस्तृत इस answer में, मयूर & user3869623 के जवाब चलो अब एक पदावनत रूटर से संबंधित कर रहे हैं। इस प्रकार अब आप एक से अधिक पैरामीटर पारित कर सकते हैं:

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

routes.ts में:

रूटर कॉल करने के लिए // कोणीय:

{ path: 'myUrlpath/:id1/:id2', component: componentToGoTo}, 
यहाँ