Javascript 如何在Angular中使用ngFor获取嵌套对象数组的选定值?

Javascript 如何在Angular中使用ngFor获取嵌套对象数组的选定值?,javascript,angular,Javascript,Angular,我的目标是: test = [ {"obj1": {"time":"8:00","array":[{name: "user1", "language": "En"},{"name": "user4", "language": "Fr"}]}} {"obj2":

我的目标是:

test = [
{"obj1": {"time":"8:00","array":[{name: "user1", "language": "En"},{"name": "user4", "language": "Fr"}]}}
{"obj2": {"time":"8:00","array":[{name: "user2", "language": "Fr"},{"name": "user3", "language": "Sp"}]}}
]
我的HTML:


{{obj.time}

{{item.name}

点击
如果我理解正确,您可以将迭代对象作为函数参数传递给TS。例如:

在HTML中,您应该:

<div *ngFor="let obj of test">
  <div *ngFor="let item of obj.array">
    <p>{{obj.time}}</p>
    <p>{{item.name}}</p>
    <button (click)="getDetails(obj, item)">Click</button>
  </div>
</div>

对象数组的let项有问题,因为
数组
嵌套在动态属性中。在一个元素中,它嵌套在
obj1
中,在下一个元素中,它嵌套在
obj2
中。你可以让它工作,但是如果数据模型是一致的,它会更干净。还有一点调试技巧。在标记中,如果您将
{{obj | json}}
放在其中,当您运行页面时,angular将吐出json中的
obj
,因此您可以查看您正在处理的内容。是否要获取所有名称的值?我没有理解问题的重点。@JorgeMussato,当我单击按钮时,我应该得到相应的嵌套数组对象名称、语言以及主对象中的时间。
getDetails(obj, item) {
  console.log(obj.time, item.name); // The values you want here.
}