要解决Angular 7的路由器刷新整个屏幕的问题,你可以尝试以下方法:
使用路由器导航方法的preserveQueryParams选项:在导航时,使用preserveQueryParams选项来保留查询参数。这样,当导航发生时,查询参数将保留在URL中,而不会导致整个屏幕刷新。
示例代码:
import { Router } from '@angular/router';
constructor(private router: Router) { }
navigateTo(route: string): void {
this.router.navigate([route], { preserveQueryParams: true });
}
在这个示例中,当你导航到一个新的路由时,使用preserveQueryParams选项来保留查询参数。
使用RouterLink指令来导航:使用RouterLink指令来导航到一个新的路由。这种方式不会导致整个屏幕刷新。
示例代码:
Go to Route
在这个示例中,当你点击链接时,它将导航到指定的路由,并保留查询参数。
使用router.navigate方法的skipLocationChange选项:使用skipLocationChange选项来导航到一个新的路由,而不会更改浏览器的历史记录。这样,屏幕不会刷新。
示例代码:
import { Router } from '@angular/router';
constructor(private router: Router) { }
navigateTo(route: string): void {
this.router.navigate([route], { skipLocationChange: true });
}
在这个示例中,当你导航到一个新的路由时,使用skipLocationChange选项来跳过浏览器的历史记录更改。
以上是解决Angular 7的路由器刷新整个屏幕的几种方法。你可以根据你的需求选择适合你的方法。