1
votes

Comment charger paresseusement les routes enfants?

Je voudrais configurer mon routage comme ceci:

const routes: Routes = [
    {
        path: ':angebotsNummer',
        loadChildren: './uebersicht/uebersicht.module#UebersichtModule',
        resolve: { angebotReadModel: AngebotReadModelResolver },
        children: [
            {   path: 'konditionen',
                loadChildren: './konditionen/konditionen.module#KonditionenModule',
            }
        ]
    }
]

Cela entraînerait l'url enfant :angebotsNummer/konditionen

Faire alors, angular me dit: Erreur: Configuration incorrecte de la route ': angebotsNummer': children et loadChildren ne peuvent pas être utilisés ensemble

Donc cela ne fonctionnera pas. Comment puis-je charger paresseusement les circuits enfants en angulaire, le cas échéant?


2 commentaires

définissez childroutes dans le module de routage de votre module chargé différé.


C'était en effet une erreur dans ma nidification d'url .... Merci pour la mise en garde!


3 Réponses :


0
votes

si vous avez un

component: UbersichtComponent

alors vous avez un routeur interne à l'intérieur de ce module qui fait

    loadChildren: './uebersicht/uebersicht.module#UebersichtModule',

le composant est celui capable pour transporter des enfants, le loadChildren vous dirige vers un module imbriqué, mais le chargeur de composants est celui capable de contenir ses propres enfants


0 commentaires

2
votes

Dans ce cas, vous ajouteriez cette configuration dans le module de routage paresseux (Uebersicht-routing.module.ts)

const routes: Routes = [
    {
        path: ':angebotsNummer',
        loadChildren: './uebersicht/uebersicht.module#UebersichtModule',
        resolve: { angebotReadModel: AngebotReadModelResolver }
    }]

Et supprimeriez la partie enfants que vous avez:

const routes: Routes = [
{
    path: '',
    children: [
        {   path: 'konditionen',
            loadChildren: './konditionen/konditionen.module#KonditionenModule',
        }
    ]
}]


0 commentaires

0
votes

Vous pouvez faire comme ci-dessous:

const routes: Routes = [
    {
        path: ':angebotsNummer',
        component: 'UebersichtComponent',
        resolve: { angebotReadModel: AngebotReadModelResolver },
        children: [
            {   path: 'konditionen',
                loadChildren: () => import('./+konditionen/konditionen.module').then(m => m.KonditionenModule),
            }
        ]
    }
]


0 commentaires