我正在使用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();
答案 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;
}