добавить больше дочерних маршрутов из модуля в другой - PullRequest
0 голосов
/ 11 июня 2018

Допустим, у меня есть модуль с именем Parent:

const routes: Routes = [
    {
        path: '',
        component: ParentComponent,
        children: [
            {
                path: '/:id',
                component: ChildComponent
            }
        ]
    }
]

@NgModule({
  declarations: [
    ParentComponent,
    ChildComponent,
  ],
  imports: [
    RouterModule.forChild(routes),
  ],
})
export class ParentModule {
}

В этом модуле есть несколько дочерних маршрутов для хорошего опыта маршрутизации, но есть проблема с ним: я не знаю, как добавить больше детеймаршруты из другого модуля.

Допустим, я хочу добавить модуль ChildDetailsModule, который объявляет ChildDetailsComponent и хочет связать его с /:id/details, тогда я застрял.Поскольку я не хочу, чтобы ParentModule знал об этом компоненте, поскольку он предоставляется другим модулем, я хочу иметь возможность отключить его, просто удалив ChildDetailsModule из импортированных модулей моего AppModule.

Можно ли этого добиться?Я не нашел пути в текущей угловой документации, и мне определенно нужно это сделать, потому что мне нужна внутренняя розетка маршрутизатора, а также я должен иметь возможность предоставлять дополнительные маршруты к этой внутренней розетке маршрутизатора, используя другие модули.

1 Ответ

0 голосов
/ 11 июня 2018

В угловых маршрутах вы должны думать как дерево, поэтому родитель должен существовать.Однако то, что вы ищете, является ленивой загрузкой.

На родительском модуле используйте отложенную загрузку для загрузки всего модуля на маршруте.Таким образом, когда пользователь переходит к этому маршруту, указанный модуль предоставит свою собственную маршрутизацию, и вы можете добавить некоторые другие дочерние маршруты или wathever.

Пример:

{ 
  path: 'parent/newmodule',
  Loadchildren: 'Newmodulepath#NewModule'
}
...