2017-06-08 20 views
2

これは主要な表示コンポーネントです。私は、Ajaxリクエストを作成し、別のファイルのスタンドアロンコンポーネントである私のappコンポーネントにrenderメソッドを使ってデータを渡したいと思います。このデータをどのように渡し、どのようにアプリコンポーネントで取得できるのですか。私はVueを勉強しています、私は<template></template>でこれを行う方法を知っていますが、それがこのようにすることが可能かどうかを知りたいと思います。Vue、レンダリングメソッドでコンポーネントにデータを渡す方法

new Vue({ 
    el: '#app', 
    data: { 
     data: {} 
    }, 
    mounted() { 
     axios.get("http://stag.cyberserge.com:4000/autos").then(res => this.data = res.data) 
    }, 
    render: h => h(App, this.data) 
}); 

答えて

3

プロパティとして渡します。

render(h){ 
    return h(App, {props: {appData: this.data}}) 
}, 

ドキュメントhereを参照してください。

Appコンポーネントでは、appData(または呼び出すもの)をプロパティとして追加します。

export default { 
    props: ["appData"], 
    ... 
} 

これは、workingの例です。

+0

これは私のためには機能しません。レンダリングする2番目の引数として矢印funcを作成し、データが存在するかどうかを確認するために、矢印funcにバインドされていてデータが未定義であるように見えます。 –

+0

@ YasinYaqoobi 2番目の引数は関数にすることはできません。次に、関数を 'createElement'に渡します。これは明示的にオブジェクトを受け付けるだけです。 https://vuejs.org/v2/guide/render-function.html#createElement-Arguments – Bert

+0

ああ、意味があります。なぜデータが定義されていないのか分かりません。私のAppコンポーネントでは、これを '' appps:["appData"]、 data(){ return {data:this.appData} }、 ' –

関連する問題