我试图使用router.navigate在angular 2中重新加载同一个url,但它不起作用。
URL:http://localhost:3000/page1
场景:我在http://localhost:3000/landing上,单击按钮,将传递路由参数,该参数应重新加载页面。
例子:
假设用户在page1(编辑表单)中,url读取为localhost:3000/page1,并且将有一个按钮create new,在单击按钮时使用

let navigationExtras: NavigationExtras = { queryParams: { "refresh": "Y" } };
this.router.navigate(['page1'], navigationExtras);

最佳答案

只有在创建组件时才调用ngoninit。当您导航到相同的页面(使用不同的url参数)时,不会调用ngoninit方法。你应该使用activatedroute参数

import { ActivatedRoute } from '@angular/router';

export class MyComponent implements OnInit {
  constructor(private _activatedRoute: ActivatedRoute){}

  ngOnInit(){
    this._activatedRoute.params.subscribe(
      params => {
        // this is called everytime the url changes
      }
   }
}

09-25 18:32