2017-03-31 5 views
2

gehe Ich habe folgende StreckenstrukturVuejs 2 - Weg sehen, wenn vom Kind zum Elternteil

/event/:id/schedule/:id 

Was ich will, ist, dass, wenn der Benutzer zu einer untergeordneten Komponente/Route führt, einige Elemente der Eltern verstecken . Wenn der Benutzer zum übergeordneten Element zurückkehrt, sollten diese Elemente zurückkommen.

Auf der Elternkomponente habe ich versucht, das $ route-Objekt zu beobachten, aber nichts wird ausgelöst. Das Anhängen von Hooks bei bereitgestellten/erstellten Methoden der Elternkomponente funktioniert nicht, da sich der Benutzer immer noch auf diesen Routen befindet. Ich sah etwas über

watch(){ 
     $route: { 
      console.log('route change'); 
     } 
    } 

Ich habe auch versucht dies:

route: { 

     canReuse: false 

    }, 

Es hat nicht funktioniert, und wenn es nicht täte, würde ich nicht wollen, es zu benutzen.

Alle anderen Ideen wären sehr hilfreich. Vielen Dank.

Antwort

1

gerade entdeckt einige route hooks/navigation guards in den vue-router-docs.Nur für die übergeordnete Komponente verwendet.

beforeRouteUpdate (to, from, next) { 
     // called when the route that renders this component has changed, 
     // but this component is reused in the new route. 
     // For example, for a route with dynamic params /foo/:id, when we 
     // navigate between /foo/1 and /foo/2, the same Foo component instance 
     // will be reused, and this hook will be called when that happens. 
     // has access to `this` component instance. 
    }, 

dies funktionierte perfekt

Verwandte Themen