Я пытаюсь создать массив объектов из электронной таблицы, используя tableTop.js, который можно передать в другие функции и компоненты vue.Мне не удалось вернуть все, что я могу на самом деле использовать. Я нашел этот пост , который приблизил меня к тому, что я имею после того, как он возвращается - массив массивов объектов с двумя неопределенными элементами массива, начинающимися с [ ob : Observer]
Если я выхожу из данных в функции getLibrary (), я вижу правильный массив, как мне нужно получить его в моем компоненте.
Если я не помещаю данные в массив gData в libraryData, я получаю неопределенное значение от функции.Я пытался обещания, нормальные функции и т. Д., Но ничего не работает.Я очень благодарен за любую помощь, которую кто-либо может оказать.
Изображение 1 - это то, что я выхожу из библиотечных данных, которые я пытаюсь получить в vue.
Изображение 2 - это то, что я получаюvue
libraryData.js
// let gData = []
export default async function () {
let spreadSheet = 'url'
Tabletop.init({
key: spreadSheet,
callback: (data, tabletop) => { return getLibraryData(data,m tabletop) },
simpleSheet: true
})
}
export function getLibraryData(data, tabletop) {
// gData.push(data);
///gData = data
log(data)
// I just want to return the data here to be used in vue
return data;
}
index.js импорт Vue из 'vue' импорт libraryData из './partials/libraryData.js'
// Too be added into a vue-lodaer?
new Vue({
el: '#vhsLibrary',
router,
template: '<vhsLibrary/>',
})
window.addEventListener('DOMContentLoaded', () => {
libraryData()
})
vue_component.vue
<script>
import { getLibraryData } from '../../js/partials/library_data';
export default {
data: () => {
return {
gData: null
}
},
mounted () {
this.gData = getLibraryData()
log('Get Library', getLibraryData())
}
}
</script>