我试图使用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
}
}
}