我有一个路线网址:
/departments/:id/employees/assign'
当我导航到上面的网址时:
this._router.navigate(['/departments/:id/employees/assign', id]);
然后,angular总是将传递的id附加到url的末尾,但这不是我想要的。
当我尝试这个时
this._router.navigate(['/departments/:id/employees/assign', {id: id}]);
我在浏览器中收到此网址:
http://localhost:4200/departments/%3Aid/employees/assign;id=1
我希望网址位于浏览器中:/departments/1/employees/assign
我需要改变什么?
答案 0 :(得分:2)
根据文档https://angular.io/docs/ts/latest/api/router/index/Router-class.html,您应该选择用户navigationByUrl:
router.navigateByUrl(" /部门/:ID /雇员/分配&#34);
或分割部分网址的组件:
router.navigate(['部门',1,'员工',分配],{relativeTo:route});
答案 1 :(得分:2)
使用模板文字来形成这样的动态网址:
[`/departments/${id}/employees/assign`]