Как вывести слова из Объекта которые есть в массиве на Vue
Есть JSON объект, нужно в html страницу вывести все слова из массива, как сделать лучше?
Код HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fetch Card</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="container" class="container">
<h1>{{ title }}</h1>
<div class="card__container">
<div class="card__item" v-for="(item, idx) in original" :key="item.id">
<div class="card__front">
<div class="card__header">
<span>{{ item.id }}</span>
<span>{{ item.en.topic }}</span>
</div>
<div class="card__body">
<div class="card__words">
<span> {{ item.en.words }} </span> //сюда нужно вывести слова, как сделать?
</div>
<div class="card__img">
<img src="http://placehold.it/75x75" alt="card">
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script type="module" src="app.js"></script>
</body>
</html>
JS:
const App = {
data() {
return {
title: "Fetch data",
original: [{
"id": 261,
"en": {
"topic": "Substances & Materials",
"words": [
"denim",
"a denim jacket",
"Denim is always in fashion"
]
},
"uk": {
"тема": "Речовини та матеріали",
"слова": [
"джинс",
"джинсова куртка",
"Джинс завжди в моді"
]
}
},
{
"id": 8,
"en": {
"topic": "Eating",
"words": [
"a vitamin",
"vitamin tablets",
"Oranges contain vitamin C"
]
},
"uk": {
"тема": "Їжа",
"слова": [
"вітамін",
"вітаміни в таблетках",
"Апельсини містять вітамін C"
]
}
},]
}
}
}
Vue.createApp(App).mount("#container")
Ответы (1 шт):
Автор решения: Vitalii Bolkot
→ Ссылка
Используйте v-for - это агалогия for только для тегов
<span v-for="(word, index) in item.en.words" :key="index"> {{ word }} </span>