web-dev-qa-db-ja.com

Paramsフィールドは$ router.pushで空です

私はこれを使用します

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

何らかのエラーが発生したときに他のURLにリダイレクトするコンポーネントで。問題は、ダッシュボードコンポーネントのparamsフィールドにアクセスするときに空になることです。 queryフィールドはうまく機能します。 this.$route.params.errorsでアクセスしようとしています。

14
Jozef Cipa

paramsパスでのみnamedを使用できます(と思います)。

例:

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

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

これで、this.$route.paramsの値が正しくなります。

33
euvl

使用しない名前付きルートを使用したい場合は、これを試すことができます:

ES6

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

ES5

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