angular - 没有 zone.js 的角度路由
问题描述
我知道在新的 Angular 9 中,由于新引擎 Ivy,我们可以在没有 zone.js 的情况下工作。所以我创建了一个新应用程序并添加了一个简单的路线/仪表板。当我导航到那条路线时,似乎 ngOnInit 没有触发。作为一种解决方法,我可以做this.router.navigate(['dashboard']).then(() => markDirty(this));
,但是当您从地址栏手动打开 /dashboard 路由时该怎么办?我是否必须订阅所有路由器事件并手动触发更改检测?在角度 8 中它也不起作用。我假设所有这些异步的东西都是由 zonejs 处理的,那么如何在没有 zonejs 的情况下处理它呢?我正在处理混合应用程序,而 zonejs 确实会影响性能。
解决方案
因为您在 index.html 中缺少<base>
标签。添加<base href="/eapp">
到<head>
标签以解决
推荐阅读
- android - 如何在不同屏幕质量的约束布局中添加 ScrollView?
- python - http:从 python 请求到等效的 curl 命令
- sql - 在雪花结果集中用逗号分隔输出数字
- javascript - 如何延迟构建自定义事件
- javascript - 如何将 CSS 基于并行 DOM 元素?
- ruby-on-rails-5 - 如何在 Rail API-only 中配置 inky-rb
- xslt - 如果输出已经包含相似元素,则跳过 XSLT 中的元素
- symfony - 将 Symfony 项目传递给开发人员
- php - PHP mySQL JOIN 和显示(3 个表)
- java - Spring boot 和 Tomcat 处理用户