javascript - 如何使用 *ngFor 循环 [object Object]

标签 javascript arrays json angular

我正在尝试像这样使用 *ngFor 循环遍历这个数组。

  let geographicalArea  = [{
    "_id": "5e77f43e48348935b4571fa7",
    "name": "Latin America",
    "employee": {
      "_id": "5e77c50c4476e734d8b30dc6",
      "name": "Thomas",
      "lastName": "Smith",
      "_v": 0
    },
    "_v": 0
  },
  {
    "_id": "5e77ff92165aa2060c54a5aa",
    "name": "Oceania",
    "employee": {
      "_id": "5e76c50c4476e734d8b30dc6",
      "name": "Joe",
      "lastName": "Duff",
      "_v": 0
    },
    "_v": 0
  }]

Html,但是当我尝试获取员工姓名时,它返回我无法读取未定义的属性“名称”

<tr *ngFor="let geo of geographicalArea | keyvalue">
                        <td>{{geo.value.name}}</td>
                        <td>{{geo.value.employee.name}}</td>
</tr>

我尝试仅显示员工,但它返回[object Object]

<tr *ngFor="let geo of geographicalArea | keyvalue">
                        <td>{{geo.value.name}}</td>
                        <td>{{geo.value.employee}}</td>
</tr>

我寻找通过对象内部的对象的方法,找到了管道键值,但它没有返回员工的信息,这将是使用此管道获取此信息的最合适的方式

最佳答案

您不需要使用 keyvalue 管道来循环 geographicalArea,因为它是一个数组。但是,如果您想循环遍历geographicalArea内的每个employee,那么您需要keyvalue管道,因为它是一个对象。

<tr *ngFor="let geo of geographicalArea">
  <td>{{geo.name}}</td>
  <td>{{geo.employee.name}}</td>
  <div *ngFor="let employee of geo.employee | keyvalue">
    {{ employee.key }} : {{ employee.value }}
  </div>
</tr>

关于javascript - 如何使用 *ngFor 循环 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60819064/

相关文章:

javascript - Ajax 和 PHP,发布请求不起作用

ios - 如何在ios swift中将对象数组转换为Json数组或Json字符串?

c# - 数组值混淆

python - 如何 "zero"具有相等相邻条目的数组中的所有条目?

c++ - 尝试将数据保存到数组时出现 ifstream 运行时错误

javascript - 从 WEB 拉取 JSON 时出现内存泄漏

php - 如何在 json 的帮助下使用 PHP,MySql 在 android 中验证用户登录凭据

javascript - 在 Facebook 粉丝专页中添加淡入淡出效果

javascript - 删除移动断点内的切换

javascript - 显示数组中的下一个对象值