Vue Routerはpropsでパラメータを伝達します
1539 ワード
Vue Routerはpropsでパラメータを伝達します
Vueプロジェクトでは、ルーティングによって他のページにジャンプすると、比較的複雑なパラメータが携帯される可能性があります.ダイナミックパスパラメータ
propsを有効にすると、次の2つの方法でパラメータを渡すことができます.
方式一
単純なパラメータのみを渡す場合は、ダイナミックパスパラメータを介してパラメータを渡すことができます.次の例は、AページジャンプBページです.
ルーティング構成
Aページ
Bページ
方式2
複雑なパラメータのみを渡す場合は、この方法でパラメータを渡すことができます.次の例は、AページジャンプBページです.
ルーティング構成
Aページ
Bページ
Vueプロジェクトでは、ルーティングによって他のページにジャンプすると、比較的複雑なパラメータが携帯される可能性があります.ダイナミックパスパラメータ
( /user/:username)
またはURLクエリーパラメータ(/user?username=abc)
を使用するのは、文字列しか伝達できないため、明らかに不便です.この場合、ルーティングpropsパラメータを有効にしたり、デカップリングの目的を達成したりすることができます.propsを有効にすると、次の2つの方法でパラメータを渡すことができます.
方式一
単純なパラメータのみを渡す場合は、ダイナミックパスパラメータを介してパラメータを渡すことができます.次の例は、AページジャンプBページです.
ルーティング構成
const router = new VueRouter({
routes: [
{
path: '/user/:id',
component: User,
props: true
}
]})
Aページ
this.$router.push('/usr/123') // this.$router
Bページ
const User = {
props: ['id'],
template: 'User {{ id }}'}
方式2
複雑なパラメータのみを渡す場合は、この方法でパラメータを渡すことができます.次の例は、AページジャンプBページです.
ルーティング構成
const router = new VueRouter({
routes: [
{
path: '/user',
name: 'user'
component: User,
props: true
}
]})
Aページ
this.$router.push({
name: 'user',
params: {
user: {
name: ' ',
age: 18,
gender: ' ',
}
...
}
})
Bページ
const User = {
props: ['user'],
template: ' : {{ user.name }} : {{ user.age }} : {{ user.gender }}'
}