2016-11-12 3 views
0

ng-options을 사용하여 개체 배열에서 Select를 만듭니다. 이것은 잘 작동하고 있습니다.이 질문의 목적을 위해 객체의 내용은 다소 중요하지 않습니다. 이름 속성, 값 속성 및 기타 몇 가지 속성이 있다고 말하는 것으로 충분합니다.Angular ng-options 전체 개체가 아닌 하나의 속성에 바인딩하는 방법?

아래 코드는 Select를 만드는 데 사용하는 코드이며, 지금까지는 잘 작동합니다.

여기 내 질문 - 옵션을 선택하면 ng-model에 바인딩되는 것은 "전체 개체"(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.