2017-12-15 1 views
3

Ich muss zu einer bestimmten Komponente auf zwei Arten - eine mit einem Parameter, eine ohne. Ich habe nach optionalen Parametern gesucht und kann irgendwie nicht viele Informationen finden.Optional param in vuejs Router

Also meine Route:

{ 
    path: '/offers/:member', 
    component: Offers, 
    name: 'offers', 
    props: true, 
    meta: { 
     guest: false, 
     needsAuth: true 
    } 
}, 

Wenn ich es mit dem param programmatisch nennen, ist alles

this.$router.push({ path: /offers/1234 }); 

fein aber ich es auch so

über nav aufrufen müssen
<router-link to="/offers">Offers</router-link> 

Die offers Komponente akzeptiert die Stütze

props: ['member'], 

Und Komponente als solche

<Offers :offers="data" :member="member"></Offers> 

nun die hässliche Art und Weise habe ich es geschafft habe es zum Laufen zu bringen, die Route zu duplizieren und damit einer von ihnen nicht Requisiten nehmen:

{ 
    path: '/offers', 
    component: Offers, 
    name: 'offers', 
    props: false, 
    meta: { 
     guest: false, 
     needsAuth: true 
    } 
}, 

Es funktioniert tatsächlich, aber ich bin nicht glücklich damit - auch im Dev-Modus warnt mich Vuejs [vue-router] Duplicate named routes definition: { name: "offers", path: "/offers" }

Sicher gibt es einen Weg zu tun optionaler Parameter im Komponentenaufruf :member="member"?

Antwort