私はVueリソースを使用していて、以前のAJAX呼び出しから来た(想定されている)データに基づいてAJAX呼び出しを作成しようとしています。vue-resource AJAXデータの周りを渡す
私は(OKを動作するようです)userDetails
小道具に/私への呼び出しからデータをバインドしようとすると、そのユーザのプロジェクトを取得するには、次の関数(this.fetchMyProjects()
)にuserDetails.id
を渡しています。 (動作しません)。
私はIDをthis.fetchMyProjects()
にハードコードします。それはうまくバインドされますが、問題はthis.userDetails
オブジェクトへの参照です。このコンテキストでは定義されていません。
私は縛られていると思われるプロパティにアクセスできない理由を理解していません。誰かが私が間違っていることについていくつかのガイダンスを提供できますか?
コード:
new Vue({
el : 'body',
data : {
projects: [],
userDetails: {},
},
created : function(){
this.fetchMyUserDetails();
this.fetchMyProjects();
},
methods : {
fetchMyUserDetails : function(){
this.$http.get('/me', function(resp){
this.userDetails = resp.data;
}).bind(this);
},
fetchMyProjects: function(){
this.$http.get('/projects/user/' + this.userDetails.id, function(projects){
this.projects = projects.data;
}).bind(this);
},
}
});
が、それは時間の問題かもしれません。 'vue-resource'呼び出しは非同期ですので、' fetchMyProjects'が 'fetchMyUserDetails'関数の結果に依存する場合は、最初の関数のコールバックで呼び出すことで、ユーザデータが確実に設定されます –
ありがとう! 'fetchMyProjects'関数呼び出しを連鎖してそこに働きました。 –