Итак, я использую vue-good-table: https://github.com/xaksis/vue-good-table, и я хочу создать несколько таблиц, когда получу данные от вызова ajax.Вызов осуществляется через API Facebook и занимает примерно 20 секунд, чтобы данные были возвращены и помещены в массив tableModel.Я делаю оператор v-for для создания сворачиваемых блоков и хочу, чтобы в каждом сворачиваемом элементе отображались только данные, относящиеся к этой конкретной кампании.Вот мой цикл for:
<div v-for="(campaigns, index) in allCampaigns">
<collapse :multiple-active="false">
<collapse-item :title="campaigns.campaign_name">
<div>
<vue-good-table
:columns="columns"
:rows="tableData[index]"
styleClass="vgt-table striped bordered"/>
</div>
</collapse-item>
</collapse>
</div>
Я надеялся показать только tableData, относящиеся к индексу созданного компонента свертывания.Я надеялся, что при обновлении tableData (возвращенные данные помещаются в массив), таблица автоматически обновит таблицу.Я получаю следующую ошибку в консоли: [Vue warn]: Ошибка в обратном вызове для наблюдателя "rows": "TypeError: Невозможно создать свойство 'vgt_id' в строке TypeError: Невозможно создать свойство 'vgt_id' в строке Вот как я нажимаюданные в tableModel:
fillTableData(campaigns) {
// console.log(campaigns);
for(let i = 0; i < campaigns.length; i++) {
this.grabClientFacebook(campaigns[i], i);
}
},
grabClientFacebook(campaign, id) {
// console.log(campaign);
this.axios.post("/auth/client/facebookcall",
{'campaign': campaign.id, 'datepreset': this.datepreset}).then((response) => {
console.log(response.data);
let fbcampaign = response.data;
console.log(fbcampaign);
this.tableData.push({'index': id,
'campaignname': fbcampaign[9],
'results': fbcampaign[0],
'reach': fbcampaign[1],
'impressions': fbcampaign[2],
'cpl': fbcampaign[3],
'spent': fbcampaign[4],
'ctr': fbcampaign[5],
'cpc': fbcampaign[6],
'clicks': fbcampaign[7]});
console.log('---------------------');
console.log(this.tableData);
}).catch(error => {console.log(error);
});
}
tableData делится как tableData: []