J'ai l'itinéraire suivant
export const personRoutes : RouteRecordRaw[] = [ { chemin : '/person/:id?/:handedSlug?', nom : 'Personne', composant : () => import('./view/person'), }, ];≪/pré>J'ai une méthode qui accepte les conditions de filtrage et met à jour l'itinéraire :
updateRoute() : void { filtres const = this.filters; const routeur = this.$router; routeur.push({ nom : 'Personne', paramètres : { identifiant : filtres.getId(), handedSlug : filtres.handedSlug(), }, }); },Le problème que j'ai rencontré est que si l'identifiant est nul et que handed est défini, l'URL renvoyée est : person/handedValue, et ce dont j'ai besoin est person/all/handedValue.
Si les paramètres suivants dans l'URL sont définis, comment définir les valeurs par défaut pour les paramètres facultatifs ?
Je ne pense pas qu'une telle méthode existe pour le moment, mais si elle existe, elle ne peut pas être considérée comme facultative. Je recommande simplement de transmettre la chaîne « all » si filters.getId() est vide.
updateRoute(): void { const filters = this.filters; const router = this.$router; let routeId = filters.getId() if (!routeId && filters.handedSlug()) { routeId = 'all' } router.push({ name: 'Person', params: { id: routeId, handedSlug: filters.handedSlug(), }, }); },