2016-11-18 2 views
5

Ich benutze diese

this.$root.$router.push({ path: '/dashboard', params: { errors: 'error' }, query: { test: 'test' } })

in meiner Komponente auf andere URL zu umleiten, wenn ein Fehler aufgetreten ist. Das Problem ist, dass wenn ich auf params Feld in der Dashboard-Komponente zugreifen möchte, es leer ist. Das Feld query funktioniert gut. Ich versuche es unter this.$route.params.errors zu erreichen.

Antwort

7

Sie können params nur mit named Pfade (glaube ich) verwenden.

Beispiel:

//route (in your router file should have "name") 
{ path: '/errors', name: 'EXAMPLE', component: ... } 

//navigating 
this.$router.push({ 
    name: 'EXAMPLE', 
    params: { errors: '123' } 
}); 

Jetzt wird es richtig Wert in this.$route.params haben.

+0

Gut zu wissen:) Danke, funktioniert gut. –

+0

Weißt du, was der Grund für diese Einschränkung ist? – andresgottlieb

+0

Tragische Einschränkung. – mystrdat

1

Wenn Sie nicht wollen genannt Routen verwenden Sie dies versuchen:

ES6

this.$root.$router.push({ 
    path: `/dashboard/${error}`, 
    query: { test } 
}) 

ES5

this.$root.$router.push({ 
    path: '/dashboard/' + error, 
    query: { test: 'test' } 
}) 
Verwandte Themen