编程语言
首页 > 编程语言> > javascript – Angular 2 router.navigate

javascript – Angular 2 router.navigate

作者:互联网

我正在尝试使用路径和查询参数的混合导航到Angular 2中的路线.

以下是路径是路径最后一部分的示例路由:

{ path: ':foo/:bar/:baz/page', component: AComponent }

试图像这样链接使用数组:

this.router.navigate(['foo-content', 'bar-contents', 'baz-content', 'page'], this.params.queryParams)

我没有得到任何错误,从我能理解的这应该工作.

Angular 2文档(目前)以下为例:

{ path: 'hero/:id', component: HeroDetailComponent }

['/hero', hero.id] // { 15 }

谁能看到我哪里出错了?我在路由器3上.

解决方法:

如果第一个段不以/开头,则它是相对路径. router.navigate需要relativeTo参数进行相对导航

要么让路线绝对:

this.router.navigate(['/foo-content', 'bar-contents', 'baz-content', 'page'], this.params.queryParams)

或者你通过relativeTo

this.router.navigate(['../foo-content', 'bar-contents', 'baz-content', 'page'], {queryParams: this.params.queryParams, relativeTo: this.currentActivatedRoute})

也可以看看

> https://github.com/angular/angular.io/blob/c61d8195f3b63c3e03bf2a3c12ef2596796c741d/public/docs/_examples/router/ts/app/crisis-center/crisis-detail.component.1.ts#L108
> https://github.com/angular/angular/issues/9476

标签:javascript,angular,angular2-routing
来源: https://codeday.me/bug/20190928/1827339.html