具有不同根组件模板的角型延迟加载路由

时间:2019-01-03 16:50:11

标签: angular

我的应用包含:

  1. NgModule根目录,其中包含:
    • 引导程序组件AppComponent的模板中仅包含一个<router-outlet>元素
    • 具有多个延迟加载模块的路由表,默认路由设置为/ home(这也是延迟加载路由)
  2. 包装页面内容(使用内容投影)的导航组件

我要实现的是将导航组件包装在每条路线上,除/ home组件以外。另外,我不想在/ home路由上加载导航组件代码和依赖项。第三,我希望所有顶级路线都处于同一等级,例如/ home,/ page1等

我已经尝试通过AppComponent模板中的* ngIf条件加载导航组件,但这仍然需要将其作为依赖项添加到根NgModule。

我可以创建一个第二级延迟加载模块,该模块用于代理/ home以外的所有路由,并将此<router-outlet>包装在导航组件中,但是我希望避免这种情况(例如,使用/ home ,/ content / page1,/ content / page2)。

第三,我可以用导航组件标签包装每个单独的延迟加载路线的根组件模板,但这对我的口味有点违反DRY。

对其他解决方案有何想法?

0 个答案:

没有答案