2016-03-01 38 views
1

可以說我有數據對象的形式如下列表: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 PARAM到實例作爲ngFor的一部分,或者通過給列表項的屬性每個創建的實例以某種方式實例訪問原始數據。

基本上,每個PersonWidget類中我希望能夠使用my_data_object.name並獲得AliceBobClara的值。

有關如何做到這一點的任何建議,或者如果有更好的,更「Angular2」的方式做到這一點?

感謝所有:)

回答

1

您可以使用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); 
    } 
}