2016-11-12 57 views
0

我正在使用ng-options來從一個對象數組中創建一個Select。這工作得很好,就這個問題而言,對象的內容有點不重要,只要說它們具有名稱屬性,值屬性和一些其他屬性即可。Angular ng-options如何綁定到一個屬性,而不是整個對象?

下面是我用來創建Select的代碼,到目前爲止它工作得很好。

這裏是我的問題 - 當選擇一個選項時,綁定到ng模型的是「整個對象」(fl)。我想綁定到ng-model的只是對象的「名稱」(i.itemName)部分。

我想我可以修復這個事實後回去,當提交按鈕被按下時,我可以遍歷所有數據,找到綁定的對象,從中提取名稱,然後更改它,所以它沒有綁定到名字,但是......這是相當潦草的,而不是真正應該如何處理。

有沒有辦法來改變這種代碼,這樣,當我選擇一個項目,NG-模式勢必給i.itemName,而不是FL

<select chosen 
     id="{{fl.fldBasic.fldLabel}}" 
     ng-model="fl.dataValue" 
     ng-readonly="{{fl.fldBasic.attrReadOnly}}" 
     title="{{fl.help}}" 
     ng-required="{{fl.required}}" 
     class="chosen-select" 
     ng-options="i.itemName for i in fl.combo_ItemList.itemList track by i.itemValue" 
     style="width: 100%;"> 
</select> 

回答

3

如果要將ng-model綁定到itemName,則可以使用以下代碼。請注意,您需要刪除此處的軌跡才能正常工作,因爲它將評估爲未定義,並且模型值與任何選項都不匹配。

i.itemName as i.itemName for i in fl.combo_ItemList.itemList. 
相關問題