在Angular 2中重置或重新加载同一页面

时间:2017-06-20 12:15:07

标签: html angular

我正在尝试使用router.navigate重新加载Angular 2中的相同网址,但它无效。

网址:http://localhost:3000/page1

场景:我在http://localhost:3000/landing并点击按钮,将传递路由参数,该参数应重新加载页面。

示例:

假设用户在page1(编辑表单),url读作localhost:3000/page1,并且会有一个按钮创建新,点击按钮通过路由参数使用

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

2 个答案:

答案 0 :(得分:0)

您只需致电window.location.reload();

答案 1 :(得分:0)

仅在创建组件时才会调用

ngOnInit。当您导航到同一页面(具有不同的url参数)时,不会调用ngOnInit方法。您应该使用ActivatedRoute Params Observable

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
      }
   }
}