繁体   English   中英

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

[英]How to get selected value of nested object array using ngFor in Angular?

我有一个对象:

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:

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

单击按钮时,我需要获取“时间”和“名称”的值。 我知道如何获得时间的价值,因为每个对象只有一个。 但是,我不确定如何获取嵌套数组的值。 我认为可以通过使用“索引”方法来完成。 但是,我无法让它发挥作用。

所需的输出:当我点击按钮时:

8:00,
user1,
En

如果我理解正确,您可以将迭代对象作为函数参数传递给 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>

在 TS 你做

getDetails(obj, item) {
  console.log(obj.time, item.name); // The values you want here.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM