Je travaille sur une Angular Application universelle. Je souhaite créer des itinéraires dynamiques avec un préfixe personnalisé, mais je ne trouve aucune documentation utile relative à mon cas. Toute aide serait appréciée...
Détails:
Ce que j'ai est, j'ai 4 pages avec 4 URL dynamiques différentes qui sont:
http://example.com/
)http://example.com/{category_name}
)http://example.com/{category_name}/{sub_category_name}
)http://example.com/p{product_id}-{product_name}
)http://example.com/user{user_id}-{user_name}
)Ce que j'ai fait
J'ai enregistré un seul itinéraire pour gérer les pages d'accueil, de catégorie et de sous-catégorie, car elles ont la même interface utilisateur avec les niveaux de catégorie dynamiques mentionnés ci-dessous,
RouterModule.forRoot([
{path: '**', component: HomeComponent, data: {title: 'Home', description: 'Homepage - quick overview.'}}
])
En difficulté:
Maintenant, je ne peux pas ajouter les itinéraires pour Product et User Page, je suis incapable de comprendre comment ajouter les préfixes p
et user
après une barre oblique et avant ids
dans les pages de produit et d'utilisateur Sans ces préfixes, le routage fonctionne bien.
Exemples d'URL requises pour les pages produit et utilisateur
J'utilise @angular/router
pour le routage.
Merci d'avance.
Vous pouvez utiliser "matcher".
Voir: https://angular.io/api/router/UrlMatcher
J'espère que ça a aidé . Enjoy!
Généralement, une router
doit pouvoir faire correspondre une certaine chaîne d'entrée (url
) à un modèle donné (route
). Vous voulez vous assurer qu'une entrée single ne correspond pas aux modèles multiple, sinon le routeur ne saura pas quelle voie adopter.
Ceci étant dit, Angular utilise le concept de [RouteGuard][1]
. Un RouteGuard (ou l’un de ses dérivés) accroche le processus de routage lorsqu’une URL est associée à un itinéraire donné.