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组件