Je cherche un moyen de charger plusieurs modules sous le même path
en Angular. Par exemple, considérons que j'ai trois modules AModule
, BModule
et CModule
chacun ayant son propre appel RouterModule.forChild
. Maintenant, je veux monter tous ces modules sous site
route.Chargement de plusieurs modules sous la même route parente en Angular
Une façon que je l'ai réalisé cette chose est en enveloppant les routes dans RouterModule.forChild
appel sous site
itinéraire comme suit:
RouterModule.forChild([
{
path: 'site',
children: [{}] // children goes here
}
])
Je ne sais pas si cette approche est correcte mais il fonctionne très bien. Le seul problème que cette approche est que je dois spécifier canActivate
dans chaque module que je veux monter sous site
. Bien que ce ne soit pas un problème, je cherchais une solution plus propre.
Je sais qu'il existe une propriété loadChildren
qui pourrait être utilisée pour charger des modules paresseusement. Mais je veux charger les modules avec impatience. J'utilise AngularCLI qui scinde le code du module que je spécifie en loadChildren
dans un fichier JavaScript séparé que je ne veux pas. J'utilise AngularClI v1.2.0 et Angular v4.2.5.
Toute aide est fortement appréciée.
Merci
Je ne suis pas sûr, mais vous pouvez exporter le composant AModule & BModule, utiliser les deux composants dans CModule puis vous pouvez utiliser le chargement Lazy pour charger CModule –
pourquoi vous définissez des routes dans 'AModule', 'BModule' au lieu de simplement définir' routes' sans modules? les modules n'ont aucune valeur en termes de routage. ils seront fusionnés lors de la compilation. lire [Éviter les confusions courantes avec des modules en Angulaire] (https://blog.angularindepth.com/avoiding-common-confusions-with-modules-in-angular-ada070e6891f) –
Salut @MaximKoretskyi, merci de commenter. C'est toujours génial d'obtenir la réponse de votre écrivain préféré :-). Permettez-moi de lire l'article que vous avez mentionné et je suis certain que j'obtiendrai mes réponses après avoir lu cela. En cas de confusion/question supplémentaire, je commenterai ici ou directement sur l'article. Merci. –