Angular 2/4 - 在 routerLink 中传递多个参数

Gab*_*ato 3 parameters routes angular

我正在尝试将链接路由到我的 Angular 应用程序中的页面,但总是收到相同的错误。

我的 Route.ts 文件有这些路线:

export const ROUTES : Routes = [

    {path:'',component:AvisosComponent    },
    {path:'gerenciarModeloAviso', component:GerenciaModAvisoComponent },
    {path:'editModeloAviso/:id/:action', component: EditModeloAvisoComponent  }   

]
Run Code Online (Sandbox Code Playgroud)

问题出在最后一条路线上,它有两个参数。

在 html 我试过这个:

<img src="../assets/editarOn.png" alt="Editar" [routerLink]="['/editModeloAviso',estrut.idAvisoEstrutura,'VIEW']" />
Run Code Online (Sandbox Code Playgroud)

然后,我尝试了这个:

<img src="../assets/editarOn.png" alt="Editar" [routerLink]="['/editModeloAviso',{id:estrut.idAvisoEstrutura,action:'VIEW'}]" />
Run Code Online (Sandbox Code Playgroud)

并且错误总是相同的:

错误路线

只是为了评论,我将路由文件更改为:

export const ROUTES : Routes = [

    {path:'',component:AvisosComponent    },
    {path:'gerenciarModeloAviso', component:GerenciaModAvisoComponent },
    {path:'editModeloAviso/:id/action', component: EditModeloAvisoComponent  }   

]
Run Code Online (Sandbox Code Playgroud)

(我删除了“动作”字样之前的“:”。无论如何,错误仍然存​​在。)

如果我在路由中只使用一个参数,没关系,我没有错误。但是有两个,没办法。

你可以帮帮我吗 ?

提前致谢。

Lyn*_*242 6

问题似乎是您不小心避免在 route.ts 中使用绝对路径。试试这条路线

export const ROUTES : Routes = [

    {path:'',component:AvisosComponent    },
    {path:'gerenciarModeloAviso', component:GerenciaModAvisoComponent },
    {path:'/editModeloAviso/:id/:action', component: EditModeloAvisoComponent  }   

]
Run Code Online (Sandbox Code Playgroud)

结合这个 HTML-Part

<img src="../assets/editarOn.png" alt="Editar" [routerLink]="['/editModeloAviso',estrut.idAvisoEstrutura,'VIEW']" />
Run Code Online (Sandbox Code Playgroud)

应该这样做。