2016-10-21 8 views
1

私は関数でデータを受け取り、この関数は新しいページを読み込む必要があります。私はこのメソッドを.load()メソッドを使ってJqueryでやっていましたが、私のvueメソッドは他のページの要素を見つけることができないというエラーが発生しました。私はそれがより良いアプローチになると信じていますが、 vueコンポーネントを介してデータを渡すVueを使ってデータを渡す

static foo(a,b){ 
    $('#maindiv').load("/newPage"); 
    new Vue({ 
     el: '#newPageElem', 
     data: { 
      vueVar1:a 
      vueVar2:b 
     }, 

    }); 
} 

どうすればいいですか?私はJqueryを使用してこれを達成するための最良の方法ではないと思うが、私はどのようにvueとそれらの間でパラメータを渡すとルートを変更するか分からない。

ありがとうございました。

+0

[Vue-router](http://router.vuejs.org/ja/essentials/getting-started.html)を見ると、コンポーネントをルートにマップすることができます。 –

答えて

3

vue-routerここをクリックしてください:http://router.vuejs.org/en/essentials/getting-started.html - すべてのクライアント側のルートを処理できます。

のhttpサーバからデータを受信するために呼び出して製造するために、あなたはVueのは、DOMをレンダリングするための責任があるとして、VueのではjQueryを混合避けた方がよいvue-resourcehttps://github.com/vuejs/vue-resource

を使用することができます。 jQueryでDOMを変更すると、次のDOMアップデートでVueによって上書きされます。だから、デバッグに多くの時間を費やすことになります。

また、ページロード時に関数を呼び出さない限り、コード例に示すように、関数内でVueアプリケーションをインスタンス化することはできません。理想的には、最初の数行のスクリプトでVueアプリを起動する必要があります。

+0

したがって、ページが読み込まれたときにメソッドを呼び出す方法はありますか? htmlページにスクリプトタグを作成する必要がありますか? –

+0

はい、HTMLページの一番下にあるスクリプトタグを 'new Vue({..})'に使用して、Vueアプリを起動しDOMをレンダリングすることができます。あるいは、あなたがちょうど始めているのであれば、ちょっと混乱するかもしれない 'vue-cli'をチェックしてください。 – Mani

関連する問題