v-for将单个对象与对象集合相同

时间:2018-10-18 14:37:06

标签: vue.js v-for

我有一个类似

的对象(我们称之为employments
{
 StartDate: "2018-01-01",
 Name: "Chris"
}

有时employments是诸如以下对象的集合:

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

如果我这样迭代

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

在第一个对象示例中给定的键(例如employment.StartDate)将失败,因为v-for将遍历对象的键而不是整个对象。对象的第二个集合将正常工作。

如何强制v-for将示例中给定的两个对象相同?

1 个答案:

答案 0 :(得分:2)

您不能强制v-for将对象视为数组;您需要在迭代之前将数据转换为正确的格式。类型检查可能是一种选择:

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