laravelでajaxリクエストを使用して、vue.js
の配列にデータベースからのデータのコレクションを保存しました。メソッドの内部でそのコレクションからデータを取得したいので、本体のデータを増やすことができますが、何とかアクセスできなくなります。たとえば、以下のコードを使用します。方法でvuejsデータにアクセスする方法
var vm = this;
$.get('url', function (response) {
vm.time_slots = response;
for(i=0; i < vm.time_slots.length; i++){ //also tried with var/let i
if(i=0){
console.log(vm.time_slots[i].start_time);
}else if(vm.time_slots[i].start_time > vm.time_slots[i-1].start_time){
console.log(vm.time_slots[i].start_time);
}
}
}, 'json');
私はうんざりします。しかし、私はそれが私が必要なものを得るコンソールを介してアクセスする場合。以下はデータです。
data: {
time_slots: [],
current_timeslots: []
},
今time_slotsの各time_slotはSTART_DATE END_DATEなどを持って、私はそれらにアクセスしたいが、私は未定義得ます。 even this.time_slots.lengthは0として返されますが、コンソールにチェックインすると12が返されます。 メソッドでデータにアクセスするにはどうすればよいですか?
感謝を助けることができます。しかし、私はこれを解決するために何ができますか? –
リクエストが完了するまで 'vm.time_slots'にアクセスすることはできません。つまり、' $ .get'コールの後のすべてのコードを、私が示したようにコールバック関数に移動する必要があります。これを回避する方法はありません。 JavaScriptのHTTPリクエストは、常に非ブロッキングで非同期です。 –
は$ .get呼び出し以外の方法はありますか? –