angular - Angular - 未捕获的错误导致重定向回基本 URL
问题描述
使用Angular 7.0.3
(但我相信这是从版本 2 开始发生的?),如果在运行时发生未捕获的错误,应用程序会中断并导致重定向回index.html
.
- 这是路由器的预期默认行为吗?
- 如果是这样,我怎样才能防止这种重定向发生?
理想情况下,如果遇到错误,我希望将用户保留在现有页面上,并允许他们继续浏览应用程序,而不必从基本 URL 开始。
我正在使用延迟加载的功能模块,并编写了类似于本教程中使用的专用error.component.ts
组件的服务,并且两者都有:
{ path: "error", loadChildren: () => ErrorModule }
和
{ path: "**", loadChildren: () => ErrorModule }
在基础app-routing.module.ts
文件中。
对于一个极其简化的测试用例,链接教程中的这个示例适当地捕获了客户端错误,但只为error.component.ts
视图提供了返回主页的选项。
编辑:2018 年 11 月 27 日
我的项目设置为使用即时编译而不是 AOT。例如,如果我使用构建项目ng build --watch --fork-type-checker
并从任何组件模板中删除了关闭</div>
,则在导航到该组件的 URL 时,应用程序将出错并将用户重定向回基本 URL。
有没有办法在不使用 AOT 且不将用户重定向回基本 URL 的情况下捕获这些类型的错误?
解决方案
推荐阅读
- jmeter - 无论如何传递HTTP采样器的响应以请求作为JMETER中的另一个采样器
- python - 尝试使用 Flask 中的渲染模板重定向到另一个 HTML 页面
- python - 检查输入时出错:预期输入为 3 维,但得到的数组形状为 (50, 1)
- python - 如何使用熊猫从csv中的2列中获取重复值列表
- .htaccess - 如何将此 htaccess 转换为 iis web.config?
- python - 自动从分组数据框中创建新数据框
- firebase - 函数执行耗时 60002 毫秒,完成状态为:可调用函数的“超时”
- java - 如何同时填写多个表
- sql - 如何根据其他列的值更新列
- html - 颜色被覆盖,但css中的文本装饰