Angular 错误的路由url

Angular 错误的路由url,angular,url-routing,angular-routing,Angular,Url Routing,Angular Routing,嗨,我的应用程序实现了路由,我有一个用户列表,当我单击其中一个时,我会执行以下操作: 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代码,而且是一个字

嗨,我的应用程序实现了路由,我有一个用户列表,当我单击其中一个时,我会执行以下操作:

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中,我定义了这个路径:'user-detail/:code'

用户详细信息.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”,如下所示:


有没有一种简单的方法来更正url?

这是一种很好的方法来导航到类似的路由

this.router.navigate(['dashboard', 'user-detail', 'users', userId]);
这就是为什么
navigate
将数组作为参数而不是字符串。 还有另一种方法

this.router.navigateByUrl(`/'dashboard/user-detail${userId}`)
你可以用它


编辑

这是一种很好的导航到类似于

this.router.navigate(['dashboard', 'user-detail', 'users', userId]);
这就是为什么
navigate
将数组作为参数而不是字符串。 还有另一种方法

this.router.navigateByUrl(`/'dashboard/user-detail${userId}`)
你可以用它


编辑

您能给我们完整的代码吗?在这里,您为我们提供了
/dashboard/user detail
的代码,但没有给出下面的内容(这是您的实际问题)。仍然不够。我猜你必须点击一个用户来导航,对吗?然后我需要实际链接的html。我的猜测是您误用了
[routerLink]
属性它不是一个真正的
[routerLink]
是一个带有选择模式OK的素数表,所以问题出在您的
this.self=event.data.\u links.self.href。你能记录它并发布结果吗?好的,
this.router.navigate(['/dashboard/user detail/users',this.userId])其中userId仅等于5(我的意思是,不是5,而是一个数字,你可以告诉我),你能给我们完整的代码吗?在这里,您为我们提供了
/dashboard/user detail
的代码,但没有给出下面的内容(这是您的实际问题)。仍然不够。我猜你必须点击一个用户来导航,对吗?然后我需要实际链接的html。我的猜测是您误用了
[routerLink]
属性它不是一个真正的
[routerLink]
是一个带有选择模式OK的素数表,所以问题出在您的
this.self=event.data.\u links.self.href。你能记录它并发布结果吗?好的,
this.router.navigate(['/dashboard/user detail/users',this.userId])
其中userId仅等于5(我的意思是,不是5,而是一个数字,你知道的)谢谢,但我的userId需要是这样的路径
/users/5
好的,你是否尝试过
导航ByURL
。另外,如果
userId
中的字符串仍被编码,您可以尝试使用
decodeURIComponent(userId)
和navigationByUrl对其进行解码,url很好,但user-detail.routes中的路径:“user-detail/:code”仍然正确吗?使用navigationByUrl,我无法将用户ID传递给user.detail组件谢谢,但我的用户ID必须是这样的路径
/users/5
好的,您是否尝试使用
navigationByUrl
。另外,如果
userId
中的字符串仍被编码,您可以尝试使用
decodeURIComponent(userId)
和navigationByUrl对其进行解码,url很好,但user-detail.routes中的路径:“user-detail/:code”仍然正确吗?使用navigationByUrl,我无法将userId传递给user.detail组件