Используйте Vuex для такой задачи.
Я приведу очень простой пример.
Установите vuex и axios в вашем проекте
позже создайте файл в вызове вашего проекта, store.js
.
store.js
import Vue from "vue";
import Vuex from "vuex";
import axios from "axios";
const store = new Vuex.Store({
state: {
info : []
},
mutations: {
updateInfo (state, info) {
state.info = info
}
},
actions: {
fetchData({commit}) {
axios.get('https://myAPI.com/')
.then(response => {
commit('updateInfo', response.data )
})
}
}
})
в вашем main.js файле импорта store.js
import store from "./store";
new Vue({
...
store,
...
});
в вашем сообщении App.vue 'updateInfo'.
App.vue
...
created() {
this.$store.dispatch("fetchData");
}
...
И в компоненте, который вы хотите использовать info
компонент данных, установите:
...
computed: {
info() {
return this.$store.state.info
}
},
...
и использовать информацию для визуализации элементов с помощью директивы v-for.
Эта информация относится к массиву элементов, которые вы приносите