2017-05-10 17 views
1

親でajax呼び出しを行い、子プロセス内でsuccess関数を実行する最良の方法は何ですか?例えば親でajax呼び出しを実行し、Vue.jsを使用して子で成功を呼び出す

//親

var ajax = myAjaxCall.fetch(); //returns a promise 

//コンポーネントもコンポーネントはAjaxが実行された場合、再び両親がいることを行う場合には、再び更新することができますSP見なければならない

ajax.success({... //etc. 

もう一度電話してください。

+0

プロミスを[プロップとして]子供に送信します(https://vuejs.org/v2/guide/components.html#Passing-Data-with-Props)。 –

+0

小道具を属性として送る必要があります。属性を送信しない方法がありますか?親でグローバル変数を作るのと同じですか? – KingKongFrog

+0

これは「最良の方法」(https://vuejs.org/v2/guide/components.html#Composing-Components)ではありません。 –

答えて

0

あなたは、子コンポーネントにref属性を追加し、親コンポーネントの範囲から、子供のメソッドを呼び出すことができます。

子コンポーネントで:

:親コンポーネントで

methods: { 
    successHandler(promise) { 
    promise.success(() => { }); 
    } 
} 

methods: { 
    fetch() { 
    var ajax = myAjaxCall.fetch(); 
    this.$refs.child.successHandler(ajax); 
    } 
} 

テンプレート内:

<child ref="child"></child> 
関連する問題