angular5 中路由path通过参数定义了一个URL,但是组件是同一个的话就不会重载一次页面!

路由中是这样定义的,同一个组件,但是传了一个Type来区分不同的订单类型,但点击后只会加载一次组件,点击已付款页面不会重新加载,参数仍然停留在之前的页面。

{path: 'order/list/:type', component: OrderListComponent,canActivate:[AuthService]},

clipboard.png

阅读 2.8k
1 个回答

同一个路由不会主动再次触发,试试:

{
    path: 'order/list/:type', 
    component: OrderListComponent,
    canActivate:[AuthService],
    runGuardsAndResolvers:'paramsChange'
}

这样在你:type路由参数变化时会执行相关路由事件。可以在组件类里面监听到

this.router.events.subscribe((e: any) => {
   ...
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进