2017-12-18 13 views
1

ここに私のルータの設定です。URLからの賛辞とVueルータの設定の小道具オブジェクトを組み合わせる

const router = new VueRouter({ 
    routes: [ 
    { 
     path: '/user/:id', 
     components: User, 
     props: { 
     sidebar: true 
     } 
    } 
    ] 
}) 

私はすべての小道具(例えばsidebarid)、この設定でのみsidebarにアクセスすることはできません。

アイデア?あなたは、このようにルート・パスとのparamsにアクセスすることができ

答えて

0

:あなたの関数内から

this.$route.pathまたは

this.$route.params.id 

、計算された小道具やあなたのテンプレート

+0

他の方法はありますか? [Vueの文書](https://router.vuejs.org/en/essentials/passing-props.html)から、それを行う最良の方法ではないようです。 –

+0

'User'コンポーネントに' props:{ sidebar:true } 'を渡しますか? – samayo

+0

私は、私は私のユーザーコンポーネントでそれが必要です。 –

1

私が正しくあなたを理解していれば、あなたがしたいです小道具sidebartrue(静的)に設定し、小道具id:id URLパラメータ(動的)に設定します。

あなたは、パラメータとしてルートを取り、あなたがコンポーネントに設定したい小道具値を返す関数を使用する必要があります:

props: route => ({ 
    id: route.params.id, 
    sidebar: true, 
}) 

はVUE-ルータのドキュメントでFunction Modeを見てください詳細については。

+0

複数のコンポーネントがあり、異なる名前のコンポーネントに異なるセットのプロップを渡す必要がある場合でもこれは可能ですか? –

関連する問題