Angular2 - 获取 ngFor 以将 #item 传递给构造实例



假设我有一个以下形式的数据对象列表:

my_list = [
    {name:Alice, age:23},
    {name:Bill, age:33},
    {name:Clara, age:43}
];

我使用 ngFor 基于数组创建一组自定义组件:

<person-widget *ngFor="#item of my_list"></person-widget>

我想让每个创建的PersonWidget实例访问生成它的列表项的属性,方法是将item参数作为ngFor的一部分传递到实例中,或者以某种方式授予实例对原始数据的访问权限。

基本上,在每个PersonWidget类中,我希望能够使用my_data_object.name并获得 AliceBobClara 的值。

关于如何做到这一点的任何建议,或者是否有更好、更"Angular2"的方法?

谢谢大家:)

您可以使用person-widget组件的参数:

<person-widget *ngFor="#item of my_list" [item]="item"></person-widget>

person-widget组件必须已定义此参数,如下所述:

@Component({
  selector: 'person-widget',
  template: `
    <div>{{item.name}}</div>
  `
})
export class PersonWidgetComponent {
  @Input()
  item: any;
  ngOnInit() {
    console.log(this.item.name);
  }
}

最新更新