Похоже, что у вас топор ios довольно хорошо обработан, и из моей интерпретации вашего вопроса вы действительно пытаетесь получить доступ к данным, которые вам возвращает ios. В следующих примерах не используется ax ios, но предполагается, что данные stati c в методе данных совпадают с данными, полученными из ax ios. Однако одна вещь, которую я заметил в отношении ваших данных, заключается в том, что вы получаете только первый индекс expenses
. Возможно, вы захотите сделать что-то вроде this.myExpenses = res.data.budget[0].expenses
, которое вернет весь список расходов, а не только первое значение.
Я думаю, вы пытаетесь это сделать:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<h1>My Budget</h1>
<div v-for="expense in myExpenses">
<div>Name:{{ Object.keys(expense)[0] }}</div>
<div>Total:{{ Object.values(expense)[0] }}</div>
<hr />
</div>
</div>
</body>
<script>
var app = new Vue({
el: '#app',
data: {
myExpenses: [{ shopping: 300 }, { bills: 700 }]
}
});
</script>
</html>
Однако я бы рекомендовал изменить схему так, чтобы она возвращала объекты, которые выглядят так:
{ name: 'shopping', total: 300 }
Этот шаблон более эффективно использует структуру объекта для указания имени его полей и связанных с ними значений. Это также позволит вам сделать что-то вроде этого:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<h1>My Budget</h1>
<div v-for="expense in myExpenses">
<div>Name:{{ expense.name }}</div>
<div>Total:{{ expense.total }}</div>
<hr />
</div>
</div>
</body>
<script>
var app = new Vue({
el: '#app',
data: {
myExpenses: [
{ name: 'shopping', total: 300 },
{ name: 'bills', total: 700 }
]
}
});
</script>
</html>