У меня есть данные JSON, которые я извлекаю, и у меня возникают проблемы с отображением массива впереди.
Итак, в настоящее время я получаю этот вывод:
Id: 1
name: Adam
Factors: ["One","Two"]
Я хочу, чтобы это отображалось так:
Id: 1
name: Adam
Factors: One Two
Вот как выглядит мой JSON:
{
"credits": [
{
"id": 1,
"name": "Adam",
"Factors" : ["One", "Two", "Three"]
},
{
"id": 2,
"name": "Jonas",
"Factors" : ["One", "Two", "Three"]
}
]
}
А это мой фронт-код в VUE:
получение данных:
export default {
name: 'app',
data(){
return{
isOpen: false,
id: '',
credits: []
}
},
mounted() {
this.search()
},
methods: {
search() {
if (this.id! = "") {
axios
.get(`http://localhost:5041/credits/`, {
params: {
...this.id && {id: this.id}
}
})
.then(response => {
this.credits = response.data
})
}
}
И мой div, где отображается информация:
<div v-show = "isOpen">
<p>Credit ID: {{credits.id}}</p>
<p>Client: {{credits.name}}</p>
<p>DE Factors: <li>{{credits.Factors}}</li></p>
</div>
Итак, как мне получить доступ ко всем элементам массива конкретного поста? Это то, что я получаю на дисплее: Факторы: ["Один","Два"] Это то, что я хочу отобразить: Факторы: Один Два
credits.Factors.join().replace(',', ' ')


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать Массив.присоединиться()
<div v-show = "isOpen">
<p>Credit ID: {{ credits.id }}</p>
<p>Client: {{ credits.name }}</p>
<p>DE Factors: {{ credits.Factors.join(' ') }}</p>
</div>
Вы можете использовать цикл for:
<div v-show = "isOpen">
<p>Credit ID: {{credits.id}}</p>
<p>Client: {{credits.name}}</p>
<p>DE Factors: <li> <span v-for = "Factor in credits.Factors" :key = "Factor"> {{ Factor }} </span> </li></p>
</div>
Вы можете использовать v-for для перебора элементов массива