如何在angular4中添加带有路由的字符串

时间:2018-09-20 22:59:14

标签: angular angular-router

我有一些路线,例如:

this.router.navigate(['/main/one/as'])
this.router.navigate(['/main/one/wer'])
this.router.navigate(['/main/one/sdf'])

每个路由都指向不同的组件,我需要的是,根据用户的选择,制定一种通用的格式来调用此路由。

我尝试了此选项,首先声明一个变量type,然后根据用户选择将路由的最后一个值分配给该变量。

type = 'sdf'
this.router.navigate(['/main/one/'+type])

我需要这个东西,因为有时我会同时加载2条路由,即

this.router.navigate(['main/one/as']).then(()=>
this.router.navigate(['main/one/',{outlets:{part2_1:'sdf'}}]));

所以它有很多组合,两个定义每个组合很费时间

但是它给出无法匹配任何路线错误

这是我的路线配置,

 { path : 'main', component : MainpageComponent,
   children:[
     { path : 'one', component :Type_mainComponent, 
       children:[
         { path : 'as', component :Type1Component,pathMatch:'full'},
         { path : 'wer', component :Type2Component,pathMatch:'full'},
         { path : 'sdf', component :Type3Component,pathMatch:'full'},
      ]}
    ]}

如何为此解决方案?

有什么选择吗?

1 个答案:

答案 0 :(得分:1)

路由器导航将数组作为参数。例如

    this.router.navigate(['/main', 'one', type])