2017-06-20 76 views
3

我正在尝试使用router.navigate重新加载Angular 2中的相同url,但它不起作用。重置或重新加载Angular 2中的相同页面

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

场景:我对http://localhost:3000/landing和按钮的点击,将通过这应重新加载页面路由参数。

例子:

假设用户是第1页(编辑表格)和URL读为localhost:3000/page1会有一个按钮,创建新的按钮传递路由的点击放慢参数使用

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

与代码 –

+0

假设用户是第1页(编辑表格)和URL清楚地说明问题读取为http://本地主机:3000 /第1页,并会出现一个按钮,创建新的,点击按钮传递路由参数使用let navigationExtras:NavigationExtras = { queryParams:{ “refresh”:“Y” } }; this.router.navigate(['page1'],navigationExtras); 。它应该调用一个ngOnInit()方法。但它不是 –

+0

您应该在问题 –

回答

0

你只需拨打电话window.location.reload();

0

ngOnInit仅在组件创建时调用。当您导航到同一页面(使用不同的url参数)时,不会调用ngOnInit方法。您应该使用ActivatedRoute PARAMS可观察

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