Я пытаюсь получить данные из разных 2 JSON.
json для данных1: [{id: 1, имя: 'abc'}, {id: 2, имя: 'def'}] json для данных2: [{product_id: 0001,},{product_id: 0002}]
Используя их, я хотел бы создать такую структуру.
myStore = [{id: 1, имя: 'abc', продукты: [{product_id: 0001,}, {product_id: 0002}]}, {id: 2, имя: 'def', products: [{product_id: 0003,}, {product_id: 0004}]}
<script>
export default {
data: () => ({
myStore: [],
isLoaded: false,
}),
created(){
this.fetchData()
},
watch: {
'$route': 'fetchData'
},
methods: {
fetchData() {
axios.get('api/data1')
.then(response => {
this.myStore = response.data
})
.catch(error => {
console.log(error);
})
.then(() => {
this.myStore.forEach(subStore => {
axios.get('api/data2?substore_id=' + subStore.id)
.then(response => {
this.myStore.products = response.data
})
.catch(error => {
console.log(error);
})
});
})
this.isLoaded = true;
},
},
}
Я проверил console.log, структура, которую я хочу иметь, создана правильно, однако проблемао рендеринге.Я пытался отобразить {{myStore}}, я вижу только первые результаты (data1) [{id: 1, name: 'abc'}, {id: 2, name: 'def'}] Когда я обновляю любой код без перезагрузки страницы (через F5), vue обновляет это изменение.На этот раз я могу правильно видеть структуру, которую хочу иметь.Но когда я перезагружаю страницу, все уходит.