Pas*_*cal 4 angular2-routing angular
我有一个路由网址,如:
/departments/:id/employees/assign'
Run Code Online (Sandbox Code Playgroud)
当我导航到上述网址时:
this._router.navigate(['/departments/:id/employees/assign', id]);
Run Code Online (Sandbox Code Playgroud)
然后 angular 总是将传递的 id 附加到 url 的末尾,但这不是我想要的。
当我尝试这个时
this._router.navigate(['/departments/:id/employees/assign', {id: id}]);
Run Code Online (Sandbox Code Playgroud)
我在浏览器中得到这个网址:
http://localhost:4200/departments/%3Aid/employees/assign;id=1
Run Code Online (Sandbox Code Playgroud)
我希望网址在浏览器中: /departments/1/employees/assign
我需要改变什么?
小智 5
根据文档https://angular.io/docs/ts/latest/api/router/index/Router-class.html,您应该选择用户 navigateByUrl :
router.navigateByUrl("/departments/:id/employees/assign");
或将 url 的组件分成几部分:
router.navigate(['部门', 1, '员工', 分配], {relativeTo: route});
使用模板文字来形成这样的动态 url:
[`/departments/${id}/employees/assign`]
Run Code Online (Sandbox Code Playgroud)