我的应用程序实现路由,我有一个用户列表,当我点击其中一个用户时,我这样做:
onRowSelect(event) {
this.self = event.data._links.self.href;
this.userId = this.url.getUserId(this.self, '/', 5);
this.router.navigate(['/dashboard/user-detail', this.userId]);
this.userId
不仅是一个id代码,还有一个字符串,例如:/users/5
在user-detail.routes中我定义了这个path: 'user-detail/:code'
用户-detail.component.ts
ngOnInit() {
this.code = this.route.snapshot.params['code'];
this.getUserDetail(this.code);
}
getUserDetail(code) {
this.http.get(this.endpointUrlService.getBaseUrl() + code, this.http.setCommonOption())
.subscribe(response => {
this.selected = response.json() as User;
this.loader = 1;
});
}
问题是url路径有'/'的转义码'%2',如下所示:
有没有一种简单的方法来纠正网址?
答案 0 :(得分:0)
这是一种导航到
之类的路线的好方法this.router.navigate(['dashboard', 'user-detail', 'users', userId]);
这就是navigate
将数组作为参数而不是字符串的原因。
还有另一种方法
this.router.navigateByUrl(`/'dashboard/user-detail${userId}`)
你可以使用哪个。
被修改