router.navigate在Angular中不起作用

时间:2018-01-14 17:34:25

标签: javascript angular angular2-routing angular4-router

bellow是我的重定向方法,无法正常工作

    goToProdPage() {
       this.router.navigate([this.quoteId,'/cpq']);
       window.location.reload();
    }

但如果我将其更改为

goToProdPage() {
     this.router.navigate(['./'+this.quoteId+'/cpq']);
     window.location.reload();
}

然后它的工作正常。但是现在我无法从其他组件中的activatedRoute获取url param(这是quoteId)。

bellow是app.module.ts中的路由代码

const appRouter :Routes = [
   {path:'login', component: loginPage},
   {path:':quoteId/cpq', component: cpqPage},
   {path:'', redirectTo:'/login', pathMatch:'full'},
]

1 个答案:

答案 0 :(得分:0)

您不需要 window.location.reload(); ,它会跳过缓存并重新加载同一页面,将其更改为

goToProdPage() {
    this.router.navigate([this.quoteId, 'cpq']);   
}