サーバーからデータを取得してvuejsの小道具やデータを取り込みたいと考えています。Vue.js 2:コンポーネントがマウントされる前にhttp.getを介してprop値を設定する
基本的に、私のコンポーネントのパラメータとしてデータを渡す必要があります。
data() {
return {
recursos_data : [
{ id: 'a', title: 'Room A' },
{ id: 'b', title: 'Room B', eventColor: 'green' },
{ id: 'c', title: 'Room C', eventColor: 'orange' },
{ id: 'd', title: 'Room D', eventColor: 'red' }
],
meus_recursos: []
}
},
methods: {
getResources: function() {
var self = this;
Vue.http.get('/admin/getResources').then((response) => {
_.forEach(response.data.resources,function(item){
self.meus_recursos.push(item);
});
console.log(self.meus_recursos);
return self.meus_recursos;
});
},
},
mounted() {
const cal = $(this.$el),
self = this;
self.getResources();
cal.fullCalendar({
header: this.header,
defaultView: this.defaultView,
editable: this.editable,
selectable: this.selectable,
selectHelper: this.selectHelper,
aspectRatio: 2,
slotDuration: '00:10:00',
timeFormat: 'HH:mm',
eventSources: self.eventSources,
events: self.events,
resources: self.recursos_data,
fixedWeekCount: false,
firstDay: 1
});
}
URLからデータを取得する必要がありますが、動作させる方法がわかりません。 私は私のサーバーからではなく、変数recursos_dataから返された値からデータを取得する必要があります...
を私は計算し、小道具、及び方法を試してみたが、彼らは動作しません。どのようにしてvuejsでこれを達成できますか?
正確には機能しません。 – Bert
@BertEvans私はデータを印刷した変数からデータを取得しています。代わりに、http.getリクエストからこのデータを取得する必要があります。私はデータを取得するためのメソッドを作成しました。私はメソッドを呼び出して 'mounted'の値を取得していますが、console.logコマンドで正しいデータを表示しますが、' resources:self.recursos_data'を 'resources: self.meus_recursos'です。私はデータがマウントされる前にロードする必要があります。 –
'created'イベントを使ってデータを設定できないのはなぜですか?それはマウントされたイベントの前に行われます。 – webnoob