J'ai besoin d'acheminer vers un certain composant de deux façons - l'une avec un paramètre, l'autre sans. J'ai fait des recherches sur les paramètres facultatifs, mais je n'ai pas trouvé beaucoup d'informations.
Donc mon itinéraire :
{
path: '/offers/:member',
component: Offers,
name: 'offers',
props: true,
meta: {
guest: false,
needsAuth: true
}
},
Lorsque je l'appelle avec le paramètre programmatiquement, tout va bien.
this.$router.push({ path: /offers/1234 });
Cependant, j'ai également besoin de l'appeler via nav comme ceci
<router-link to="/offers">Offers</router-link>
El offers
accepte la prop
props: ['member'],
Et composant utilisé comme tel
<Offers :offers="data" :member="member"></Offers>
Maintenant, la façon laide que j'ai réussi à faire fonctionner est de dupliquer la route et de faire en sorte que l'une d'entre elles ne prenne pas les accessoires :
{
path: '/offers',
component: Offers,
name: 'offers',
props: false,
meta: {
guest: false,
needsAuth: true
}
},
En fait, cela fonctionne, mais je n'en suis pas satisfait. De plus, en mode dev, Vuejs me prévient. [vue-router] Duplicate named routes definition: { name: "offers", path: "/offers" }
Il y a sûrement un moyen de faire un paramétrage optionnel dans l'appel du composant. :member="member"
?