要在Angular中导航到404页面但保持URL不变,可以使用Router
服务的navigate
方法,并将skipLocationChange
选项设置为true
。
以下是一个示例代码:
const routes: Routes = [
// 其他路由配置
// ...
// 404 路由
{ path: '404', component: NotFoundComponent }
];
Router
和Location
服务,并在构造函数中注入它们:import { Router, NavigationExtras } from '@angular/router';
import { Location } from '@angular/common';
constructor(private router: Router, private location: Location) { }
const navigationExtras: NavigationExtras = {
skipLocationChange: true // 设置为 true 以保持 URL 不变
};
this.router.navigate(['/404'], navigationExtras);
这样,当你导航到404页面时,URL将保持不变,同时显示404组件的内容。