如何在Angular 2中重新加载组件的内容?

时间:2017-08-28 14:18:33

标签: javascript angular components angular2-routing

运行时的某个时刻,我的网址看起来像

http://localhost:4200/personal/51c50594-a95c-4a18-ac7b-b0521d67af96

我想转到只有不同GUID和不同内容的网页。

http://localhost:4200/personal/{otherGuid}

这不起作用:

this.router.navigate(['/personal',new_ guid]);

如何在角度2中实现此目的?

2 个答案:

答案 0 :(得分:3)

尝试以下,

 ....
  this.router.navigate(['personal', id]);
 ....

 constructor(route: ActivatedRoute, router: Router){
  this.route.params.subscribe(param => {
     // this will be fired when you change the guid,
     // use the new param to reload component..
  })
 }

检查此Plunker !!

希望这有帮助!!

答案 1 :(得分:0)

您可以导航到中间路线/personal,在该页面中,您可以使用开关案例再次获取参数并基于参数,您可以导航到其他路线。在后一部分,如果您不想更改url栏中显示的路线,可以使用此代码执行此操作

this.router.navigate(['/view'], { skipLocationChange: true });

skipLocationChange: true在不将新状态推入历史的情况下进行导航。

供您参考,您可以查看link