J'utilise ceci
this.$root.$router.Push({ path: '/dashboard', params: { errors: 'error' }, query: { test: 'test' } })
dans mon composant pour rediriger vers une autre URL lorsqu'une erreur s'est produite. Le problème est que lorsque je veux accéder au champ params
dans le composant de tableau de bord, il est vide. Le champ query
fonctionne bien. J'essaie d'y accéder par this.$route.params.errors
.
Vous ne pouvez utiliser params
qu'avec les chemins named
(je pense).
Exemple:
//route (in your router file should have "name")
{ path: '/errors', name: 'EXAMPLE', component: ... }
//navigating
this.$router.Push({
name: 'EXAMPLE',
params: { errors: '123' }
});
Maintenant, il aura la valeur correcte dans this.$route.params
.
Si vous ne souhaitez pas utiliser les routes nommées , vous pouvez essayer ceci :
ES6
this.$root.$router.Push({
path: `/dashboard/${error}`,
query: { test }
})
ES5
this.$root.$router.Push({
path: '/dashboard/' + error,
query: { test: 'test' }
})