angular同一页面跳转重新执行方法

问题:当收到导航到当前URL的请求,Angular路由器会忽略,重复点击同一链接页面不会刷新,也不会重新执行ngOnInit函数

解决:

1、跳转时给Router中增加参数

this.router.navigate([path],{queryParams:{lang:'zh-cn'}})

2、在组件中订阅queryParamMap,判断有lang字段就重新执行init方法

constructor(
    private sanitizer: DomSanitizer,
    private routerInfo: ActivatedRoute,) {
      this.routerInfo.queryParamMap.subscribe(params => {
        if (params.get('lang')) {
          this.init();
        }
     });
   }


init(): void{
    console.log('重新执行了')
}