angular 4错误的路由网址

时间:2017-06-29 08:41:08

标签: 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代码,还有一个字符串,例如:/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',如下所示:

  

http://localhost:4200/dashboard/user-detail/%2Fusers%2F2

有没有一种简单的方法来纠正网址?

1 个答案:

答案 0 :(得分:0)

这是一种导航到

之类的路线的好方法
this.router.navigate(['dashboard', 'user-detail', 'users', userId]);

这就是navigate将数组作为参数而不是字符串的原因。 还有另一种方法

this.router.navigateByUrl(`/'dashboard/user-detail${userId}`)

你可以使用哪个。

被修改