web-dev-qa-db-fra.com

Angular 6 - Routage dynamique avec préfixe

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:

  • Page d'accueil (http://example.com/)
  • Page de catégorie (http://example.com/{category_name})
  • Page de sous-catégorie (http://example.com/{category_name}/{sub_category_name})
  • Page produit (http://example.com/p{product_id}-{product_name})
  • Page utilisateur (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.

4
Arsal Imam

Vous pouvez utiliser "matcher".

Voir: https://angular.io/api/router/UrlMatcher

J'espère que ça a aidé . Enjoy!

0
Yuriy Ivashenyuk

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é.

0
Ropstah