如何在不刷新角度7,8的情况下重新加载整个页面?

时间:2019-08-02 10:59:25

标签: angular refresh reload

  

我正在使用angular 8,并且希望在同一位置刷新我的组件   网址,而不刷新整个页面。我正在尝试router.navigate但   它对我不起作用。我尝试了location.reload和   window.location.reload,但需要太多时间,并且会刷新   整个页面。下面是我的相同代码:

this.snackBar.open('Data Updated Successfully', 'Undo', {
        duration: 5000,
      });
      this.router.navigate(['/get_customer_details/'+this.customer_details_id]);
      console.log(this.customer_details_id);
      this.ngOnInit();

2 个答案:

答案 0 :(得分:0)

使用角形铣刨机是不可能的。如果您的地址没有更改,您的路由器将不会触发在相同状态下的导航。如果您要做的只是重新获取数据,则只需重新获取数据并使用更新后的数据更新组件,而无需再次导航至同一页面。

代替

 this.router.navigate(['/get_customer_details/'+this.customer_details_id]);  

您必须调用函数来重新获取数据,例如

this.fetchCustomers()

答案 1 :(得分:0)

默认情况下,Angular的RouteReuseStrategy为true。您需要将其更改为假。

在构造函数中使用以下代码

constructor(private route: ActivatedRoute, private router: Router) {
    this.router.routeReuseStrategy.shouldReuseRoute = () => false;
  }