Passing Multiple route params in Angular2

前端 未结 4 1423
耶瑟儿~
耶瑟儿~ 2021-01-31 00:51

Is it possible to pass multiple route params e.g. like below need to pass id1 and id2 to the component B

@RouteConfig([
           


        
相关标签:
4条回答
  • 2021-01-31 01:43

    Two Methods for Passing Multiple route params in Angular

    Method-1

    In app.module.ts

    Set path as component2.

    imports: [
     RouterModule.forRoot(
     [ {path: 'component2/:id1/:id2', component: MyComp2}])
    ]
    

    Call router to naviagte to MyComp2 with multiple params id1 and id2.

    export class MyComp1 {
    onClick(){
        this._router.navigate( ['component2', "id1","id2"]);
     }
    }
    

    Method-2

    In app.module.ts

    Set path as component2.

    imports: [
     RouterModule.forRoot(
     [ {path: 'component2', component: MyComp2}])
    ]
    

    Call router to naviagte to MyComp2 with multiple params id1 and id2.

    export class MyComp1 {
    onClick(){
        this._router.navigate( ['component2', {id1: "id1 Value", id2: 
        "id2  Value"}]);
     }
    }
    
    0 讨论(0)
  • 2021-01-31 01:46

    As detailed in this answer, mayur & user3869623's answer's are now relating to a deprecated router. You can now pass multiple parameters as follows:

    To call router:

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

    In routes.ts:

    { path: 'myUrlpath/:id1/:id2', component: componentToGoTo},
    
    0 讨论(0)
  • 2021-01-31 01:54

    OK realized a mistake .. it has to be /:id/:id2

    Anyway didn't find this in any tutorial or other StackOverflow question.

    @RouteConfig([{path: '/component/:id/:id2',name: 'MyCompB', component:MyCompB}])
    export class MyCompA {
        onClick(){
            this._router.navigate( ['MyCompB', {id: "someId", id2: "another ID"}]);
        }
    }
    
    0 讨论(0)
  • 2021-01-31 01:54
          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"}]);
              }
            }
    
    0 讨论(0)
提交回复
热议问题