v-for относится к одному объекту так же, как к коллекции объектов - PullRequest
0 голосов
/ 18 октября 2018

У меня есть объект (назовем его employments), например

{
 StartDate: "2018-01-01",
 Name: "Chris"
}

Иногда employments будет набором объектов, таких как:

{
 StartDate: "2018-01-01",
 Name: "Chris"
},
{
 StartDate: "2017-01-01",
 Name: "Adam Brown"
}

Если я повторяю какthis

<div v-for="employment in employments">
    <p>{{employment.StartDate}}</p>
    <p>{{employment.Name}}</p>
</div>

Ключи, заданные (например, employment.StartDate) в первом примере объекта, потерпят неудачу, потому что v-for будет перебирать ключи объекта вместо объекта в целом.Вторая коллекция объектов будет работать правильно.

Как я могу заставить v-for обрабатывать оба объекта, приведенные в примере, одинаково?

1 Ответ

0 голосов
/ 18 октября 2018

Вы не можете заставить v-for рассматривать объект как массив;Вам нужно преобразовать ваши данные в правильный формат, прежде чем итерировать их;Проверка типа может быть опцией:

v-for="employment in (Array.isArray(employments) ? employments : [employments])"
...