2016-05-16 107 views
0

我的使用情況: 我分配對象的數組如下綁定ngFor的對象的屬性名稱動態

<select> 
<option *ngFor="let item of data" [value]="item.key">{{item.value}}</option> 
<select> 

,我的數據是

[ 
    { 
    "key" : "CHV", 
    "value" : "Chivas" 
    }, 
    { 
    "key" : "BLN", 
    "value" : "Balentines" 
    }, 
    { 
    "key" : "BDG", 
    "value" : "Black Dog" 
    } 
] 

漂亮straigtforward,現在選擇的使用ngFor選項我想要的是綁定用戶指定的item.key和item.value,即他應該能夠提及用於選項值和標籤的選項。以下是香港專業教育學院嘗試和沒有工作

<option *ngFor="let item of data; let itemlabel = optionlabel; let itemvalue = optionvalue" value="{{item.itemvalue}}">{{item.itemlabel}}</option> 

optionvalue & optionlabel在組件字符串所以,現在當我換他們,我可以得到密鑰值,反之亦然如下

optionvalue : string = 'key'; 
optionlabel : string = 'value'; 

。任何想法如何做到這一點

回答

1

您可以使用下列內容:

<option *ngFor="let item of data" value="{{item[itemvalue]}}"> 
    {{item[optionlabel]}} 
</option> 

這種方式,我們將利用在你的組件進行配置。

+0

太棒了!謝謝,還有一件事,即時通訊現在試圖根據用戶的數據來保存數據,例如''但該方法從未被調用?任何想法爲什麼 –

+0

不客氣!什麼是getClubbedOption方法?你的組件之一? –

+0

基本上我想要做的就是讓用戶在顯示選項時提及所有數據是杵狀的。是的'getClubbedOption'是我應該調用的組件的方法。 'getClubbedOption(item:any):any { console.log(item); console.log(this.optionlabel) 返回「opt」; }' –