v-breadcrumbs отображает данные из массива хлебных крошек - это прекрасно работает с данными c.
<v-row>
<!-- Breadcrumbs -->
<v-col class="d-flex">
<v-breadcrumbs :items="breadcrumbs"></v-breadcrumbs>
</v-col>
</v-row>
<v-row>
<v-col class="d-flex">
<p class="blue--text title font-weight-medium my-0">{{response.products.title}}</p>
</v-col>
</v-row>
Ax ios делает запрос на получение различных данных о продукте - это также отлично работает.
<script>
export default {
async asyncData({$axios, params}){
try{
let response = await $axios.$get(`/api/products/${params.id}`)
console.log(responce);
return{
responce: responce
}
}catch(err){
console.log(err);
}
},
data: () => ({
breadcrumbs: [{text: "Category", href: "index"}, {text: "", disabled: true}]
})
</script>
Затем я хотел бы использовать данные, возвращенные из запрос get для распространения последнего элемента в массиве breadcrumb.
Я пытался использовать обещание для вставки значения после завершения запроса get, но при этом все приложение вылетает с «Не удается прочитать свойство« products »из неопределенного» * 1010 * независимо от того, какой код выполняется в обещании.
let response = await $axios.$get(`/api/products/${params.id}`)
.then((result) => {
// Some code here
})
Я понимаю, что должен каким-то образом изменять значение 'response' при использовании обещания .then (). Это лучший способ решить эту проблему или я должен изучить Vue ловушки жизненного цикла?
Вот ответ API на запрос get:
{
success: true,
products: {
rating: [],
_id: '5e3bfd038125ebafba2ff8ce',
owner: {
_id: '5e397eed2da03d0817f3f870',
name: 'Jeff Bezos',
about: 'Jeff is the owner of this site.',
photo: '-',
__v: 0
},
category: { _id: '5e397bcc2da03d0817f3f86d', type: 'Books', __v: 0 },
title: 'The Everything Store',
description: 'A book about Amazon',
photo: '-',
price: 12,
stockQuantity: 73,
__v: 0
}
}