以编程方式刷新Angular2页面,无需重新加载所有应用程序

时间:2016-02-05 20:23:02

标签: angular angular2-routing

有什么方法可以通过编程方式刷新Angular 2中的路由以触发onInit钩子?

2 个答案:

答案 0 :(得分:1)

  

也许只有一种方法可以刷新当前路线。

自:

https://angular.io/docs/ts/latest/api/router/Router-class.html

  

renavigate() : Promise<any>

     

导航到成功导航到的最后一个URL,或者导航到   如果路由器尚未成功导航,则请求最后一个URL。

注入路由器并调用renavigate()方法:

this._router.renavigate();

答案 1 :(得分:0)

适用于5度以上的角度:

1)将runGuardsAndResolvers添加到您的路线:

const routes: Routes = [   { path: '', component: YourComponent, runGuardsAndResolvers: "always" } ]

2)将onSameUrlNavigation属性添加到路由导入

@NgModule({
  imports: [RouterModule.forRoot(routes, {
    onSameUrlNavigation: 'reload'
  })],
  exports: [RouterModule]
})

3)现在使用navigateByUrl('current url')导航到您的网址,为您重新加载页面。