Angular2如何重建视图(路由)

时间:2016-07-14 12:36:08

标签: angular angular-routing

如何重建路由器?当我加载相同的路由器但使用另一个参数时,只有URL更改,视图保持不变。有没有办法说路由器 - “嘿,重建自己!”?

我需要像window.location.reload()这样的效果但不重新加载。

1 个答案:

答案 0 :(得分:1)

当您使用不同的param导航到相同的路径时,它会重用该组件。因此,ngOnInit将不再被调用,因此您可能认为页面未更新。您应该在ngOnInit中订阅routeparam,然后在订阅的函数中进行视图更新

在构造函数中注入激活的路径

constructor(
  private route: ActivatedRoute,
  private router: Router,......) {}
In the ngOnInit method, we use the ActivatedRoute service to retrieve the parameters for our route

ngOnInit() {
  this.sub = this.route.params.subscribe(params => {
     let id = +params['id']; // (+) converts string 'id' to a number
     //here goes your logic like below
this.service.getHero(id).then(hero => this.hero = hero);
   });
}

还要看另一个question