在Angular 7中重新加载或刷新不同组件的数据,可以使用以下解决方法:
router.navigate
方法来导航到同一路由,并设置{reload: true}
选项来重新加载组件。import { Router } from '@angular/router';
constructor(private router: Router) {}
refreshComponent() {
this.router.navigate(['/route-name'], { queryParams: { reload: true } });
}
ActivatedRoute
来获取当前路由,并使用router.navigate
方法导航到相同的路由。import { Router, ActivatedRoute } from '@angular/router';
constructor(private router: Router, private route: ActivatedRoute) {}
refreshComponent() {
this.router.navigate(['.'], { relativeTo: this.route });
}
import { Router } from '@angular/router';
constructor(private router: Router) {}
refreshComponent() {
this.router.navigateByUrl('/dummy-route')
.then(() => this.router.navigateByUrl('/original-route'));
}
以上解决方法可以根据具体的需求来选择使用哪种方式来重新加载组件并刷新数据。