如何在 Angular 中动态显示 404

How to Dynamically Show 404 in Angular

我搜索了一遍又一遍,但也许我的搜索词不正确,因为没有找到任何结果。我想根据 HTTP 请求的结果动态显示我的 404 组件。

我意识到我可以通过将用户重定向到我的 404 页面来做到这一点,但是有什么方法可以在不更改 URL 的情况下呈现组件?

类似于/people/<nonexistent id>

  1. 执行 HTTP 请求
  2. 如果有人,照常进行
  3. 如果人不存在,渲染 404 而不改变 URL

谢谢!

没关系,我找到了答案。

解决方案是使用 router.navigate 并将选项 skipLocationChange 设置为 true。这告诉 Angular 重新路由而不更改浏览器导航栏中的 URL。

https://angular.io/api/router/NavigationExtras#skipLocationChange