当URL从/detail/2更改为/detail/3时,如何使用Angular 5中的RouterUseStartegy API重新初始化组件?

当URL从/detail/2更改为/detail/3时,如何使用Angular 5中的RouterUseStartegy API重新初始化组件?,angular,routing,angular2-routing,Angular,Routing,Angular2 Routing,当前,当我的URL从/detail/2更改为detail/3时,不会再次调用DetailComponent的生命周期挂钩等 RouteReuseStrategy有一个函数shouldReuseRoute,但我不知道如何使用它来解决我的目的。对于这种情况,您必须注入路由器库的ActivatedRoute服务。这是您的DetailComponent的Ngonit的代码 constructor(private route: ActivatedRoute) { } } 在参数映射中,您将获得参数id

当前,当我的URL从/detail/2更改为detail/3时,不会再次调用DetailComponent的生命周期挂钩等


RouteReuseStrategy有一个函数shouldReuseRoute,但我不知道如何使用它来解决我的目的。

对于这种情况,您必须注入路由器库的ActivatedRoute服务。这是您的DetailComponent的Ngonit的代码

 constructor(private route: ActivatedRoute) {
}

}


在参数映射中,您将获得参数id的更改。

谢谢您的回复。但这不是推荐的方法。因为如果我想让该组件的所有生命周期挂钩再次运行,我们不能调用subscribe中的每个方法。简而言之,我需要Angular5版本的,具体来说,我需要在Angular5中实现RouteResuseStrategy,如中所用
 ngOnInit() {
this.route.paramMap.subscribe(
  (param: ParamMap) => {
    this.departmentId = parseInt(param.get('id'));
  }
);