Angular 路由参数在中间
Angular Routing param in the middle
在我的路由模块上,我有一条路径,中间有一些 id。像
{
path: 'detail/:id/new',
component: SomeComponent
}
为了给它一个link,我管理了两个解决方案来调用它。
解决方案一:
this.router.navigate(['detail/:id/new', { id: this.myId }]);
Generated URL: http://localhost:4200/myApp/detail/:id/new;id=10
方案二:
this.router.navigate(['detail/' + this.myId +'/new']);
Generated URL: http://localhost:4200/myApp/detail/10/new
对我来说,第二个 solution/URL 更标准、更清晰,但实现它的方式似乎有点“硬编码”。
还有其他方法可以完成解决方案2吗?有什么angular标准?
我认为最不“硬编码”的选项如下所示:
this.router.navigate(['detail' , this.myId, 'new']);
您也可以尝试 javascript 模板字符串(使用 ` 而不是 ')
this.router.navigate([`detail/${this.myId}/new`]);
在我的路由模块上,我有一条路径,中间有一些 id。像
{
path: 'detail/:id/new',
component: SomeComponent
}
为了给它一个link,我管理了两个解决方案来调用它。
解决方案一:
this.router.navigate(['detail/:id/new', { id: this.myId }]);
Generated URL: http://localhost:4200/myApp/detail/:id/new;id=10
方案二:
this.router.navigate(['detail/' + this.myId +'/new']);
Generated URL: http://localhost:4200/myApp/detail/10/new
对我来说,第二个 solution/URL 更标准、更清晰,但实现它的方式似乎有点“硬编码”。
还有其他方法可以完成解决方案2吗?有什么angular标准?
我认为最不“硬编码”的选项如下所示:
this.router.navigate(['detail' , this.myId, 'new']);
您也可以尝试 javascript 模板字符串(使用 ` 而不是 ')
this.router.navigate([`detail/${this.myId}/new`]);