2017-11-28 21 views
1

Vuejsのルートから別のルートに配列を渡す必要があります。home.vueからpost.vueに渡す必要があります。Vuejsの2つのルート間で配列データを渡す方法

これは、これは私のhome.vue

<router-link to="/post/:cart">Check out</router-link> 

と私のpost.vue

props: ['cart'], 
    mounted() { 
    console.log(this.$route.params.cart) 
    } 

である。しかし、これは動作していない、それだけで:cart内を印刷しpost.vue

{ 
    path: '/post/:cart', 
    name: 'post', 
    component: PostView, 
    props: true 
} 

のための私のroute.jsファイルですそのコンソール。カートに保管されている実際のデータが必要です。私はそれを間違っているのですか?

+0

を削除し、あなたのroute.jsを変更する必要があり、あなたは何を試してみましたか?あなたが助けを求める前に、少なくともあなた自身でそれをやろうとしたことを示す必要があります。 – samayo

+0

Vuejsのドキュメントでは、paramsとpropsとqueryだけしか書かれていません。このトピック。ある時点で、私は 'this。$ route.params.cart'を訪れました。これはparamsでこれを使用しましたが、ページにエラーは表示されませんが、何も表示されません。 –

+0

小さなステートマシンを使用して、必要なものを実行することもできます。データをURLに保存し、アプリで拡大縮小できます。例としてVuexをチェックしてみてください(これは小さなアプリにとってはあまりにも多いかもしれませんが、私はそれから何を言っているのか分かります)。 – webnoob

答えて

0

<router-link to="/post/:cart">Check out</router-link><router-link to="/post/test">Check out</router-link>に置き換えると、コンソールにtestが表示されます。これは、:cartを使用すると、リダイレクトでパラメータ「カート」のプレースホルダが宣言されたためです。

あなたはより多くのparamsを通過したい場合は、私はあなたが<router-link :to="{ path: '/post/', params: { a: 'a', b: 'b', c: 'c' }}">Check out</router-link>に似 somethinkを試すことができると思いますが、おそらくあなたが:cart

+0

助けてくれてありがとう、私の場合はうまくいきません。私は答えを得ました。私は 'App.Vue'でそれを宣言し、それを小道具のように渡す必要があります。もう一度ありがとう。 –

関連する問題