javascript - 防止 Angular 2 路由器将文字误认为参数

标签 javascript angular router

我有两条路线:

{
path: 'application/:groupId/:approved/:applicant-id',
component: FooComponent  
}, 
{
path: 'application/:groupId/applicant-detail/:applicant-id',
component: BarComponent  
},

不同之处在于,第一个 :approved 是一个参数,而第二个 applicant-detail 是一个文字。当然,路由器认为:

this.router.navigate(['./applicant-detail/' + this.someId, {relativeTo: this.route });

想要转到第一条路线,因为它没有意识到applicant-detail是一个文字。除了重写路由以使它们在“签名”中不匹配之外,还有什么方法可以解决这个问题吗?

最佳答案

交换位置,将参数从一个变为下一个,一切都会正常

{
path: 'application/:groupId/applicant-detail/:applicant-id',
component: BarComponent  
},
{
path: 'application/:groupId/:approved/:applicant-id',
component: FooComponent  
}

关于javascript - 防止 Angular 2 路由器将文字误认为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45866998/

相关文章:

javascript - Ngrx store dispatch 不接受字符串作为参数

angular - 如何将 MatPaginator 附加到 Angular Material 表中来自服务器的数据源?

javascript - Angular 4 : changing url, 但未呈现组件

angular - 通过 routerLink 定位命名 socket 会添加无关的 "/"

javascript - 跨浏览器标准化鼠标滚轮速度

javascript - Chrome 中的 YUI 2.9.0 富文本编辑器填充,然后删除 editorHTML

javascript,在 highcharts map 上缩放后更改默认位置

javascript - Angular 2路由器错误

linux - 如何从USB端口连接到RJ45控制台设备?

javascript - 在javascript中交换矩阵的行与列(转置)