2016-06-17 20 views
1

'routeコンポーネント'によってロードされたデータを 'subRoute Component'に渡す方法がわかりません。 (私はVue-ルータ)VueJs - vue-routerを使ってsubRoutesコンポーネントにデータを渡す

私のルータはそのようになっています

router.map({ 
    '/a': { 
    component: A, 
    subRoutes: { 
     '/b': { 
     component: B 
     }, 
     '/c': { 
     component: C 
     } 
    } 
    } 
}); 

は、私はちょうど

おかげで、事前に部品BとC

で成分Aによってロードされたデータを共有したいです!

+0

たぶん 'vuex'は何をしたいです:https://github.com/vuejs/vuex/は –

答えて

3

2つの簡単なオプションがあります。

醜い

subrouteコンポーネントから$parentオプションを使用します。それは、それが推奨される方法ではありません、あなたは親インスタンスへのアクセス権を与えるが、それは良い

使用props

// from the child component 
this.$parent.someData 

効果的です。小道具は、親から子へのデータを渡す機会を与えます。親データの一部ではないとしても、エラーを防止し(インスタンスではなくデータを渡す)、必要なものだけを渡すため、より優れています。

// parent component 
<template> 
    <child :childsdata="parentdata"></child> 
</template 
<script> 
    export default { 
     data: function() { 
      return { 
       parentdata: 'Hello!' 
      } 
     } 
    } 
</script> 

// child component 
<template> 
    {{ childsdata }} <!-- prints "Hello!" --> 
</template> 
<script> 
    export default { 
     props: { 
      childsdata: { 
       type: String 
      } 
     } 
    } 
</script> 
+1

コンポーネントC ''に 'コンポーネントB'からデータを送信することは小道具を使用可能ですか? – highFlyingDodo

+0

私は多くの場所でこの ""スタイルの回答を見つけましたが、vue-routerの下にはがありません。ちょうどであり、それぞれに小道具を追加したくありませんroutには別のセットの小道具が必要です。これは、vue-routerが使う経路オブジェクトの一部でなければならない。 – Andris

関連する問題