角度路由器

时间:2019-05-14 12:58:34

标签: angular angular-router

我有一个多模块应用程序。路由在模块中被称为模块,就像它们是惰性模块(loadChildren: 'path/to/module#Module')一样,但实际上它是急切的-此语法仅用于实现更好的隔离路由结构。

实际上,当直接使用模块的.forRoot(config)导入模块时,立即中断了延迟加载。为了提供API密钥以及其他取决于环境(国家/地区)的信息,必须进行配置。

现在假设其中一个名为AbcModule的模块具有如下本地路由

export const abcRoutes: Routes = [
    {
        path: '',
        pathMatch: 'prefix', // or 'full' - doesn't really make diff
        component: AbcPageComponent,
    },
];

并在主app-routing.module.ts中这样称呼:

[
    {
        path: '',
        loadChildren: 'app/home/home.module#HomeModule',
    },
    // ... more routes
    {
        path: 'abc',
        loadChildren: 'path/to/abc.module#AbcModule',
    }
]

现在的问题是,RouterModule在引导过程中收集路由时,会拾取2条带有空路径的单独路由。具有讽刺意味的是,属于AbcModule的那个占了上风(我清楚地由console.log(this.router.config)看到了),并且AbcPageComponent呈现在HomeModule布局之外(结果:没有菜单,侧边栏等) )

主要问题:

  • 基于这种架构,是否有一种方法可以影响拾取路线的顺序/顺序? (我不建议您去摆弄config和Route.resetConfig()方法)

其他问题:

  • 这种模式有什么问题吗?
  • 一个人可以用配置配置延迟加载的模块吗?

Angular 4.1.x

0 个答案:

没有答案