wake-up-neo.com

Das Feld "Parameter" in "$ router.push" ist leer

Ich benutze das

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

in meiner Komponente, um zu einer anderen URL umzuleiten, wenn ein Fehler aufgetreten ist. Das Problem ist, dass wenn ich auf das Feld params in der Dashboard-Komponente zugreifen möchte, es leer ist. Das Feld query funktioniert gut. Ich versuche, mit this.$route.params.errors Darauf zuzugreifen.

14
Jozef Cipa

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

Beispiel:

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

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

Jetzt hat es den richtigen Wert in this.$route.params.

33
euvl

Wenn Sie nicht tun Routen mit Namen verwenden möchten, können Sie Folgendes versuchen:

ES6

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

ES5

this.$root.$router.Push({
    path: '/dashboard/' + error, 
    query: { test: 'test' }
})
5
Rob