2016-11-02 2 views
0

저는 새로운 각도이고 angular.js와 각진 재질을 함께 사용하고 있습니다.Angular.js에서 선택한 객체 속성에 액세스하십시오.

내가하려고하는 것은 md-select를 만들고 ng-model로 개체를 할당하는 것입니다. 내 md 옵션은 객체 배열에서 가져오고, 원하는 옵션을 선택하면 전체 객체가 ng 모델에 저장됩니다.

문제는이 개체의 속성을 선택하려고하면 아무 것도 반환되지 않습니다. 당신은 여기 내 코드를 볼 수 있습니다 내가 작성하는 경우

<md-input-container md-no-float class="md-block col-1111-20-0-fl mrg-l-20"> 
     <md-select ng-model="orderItems[$index].item"> 
     <md-option ng-repeat="item in itemNames[$index] | orderBy: item.name" value="{{item}}"> 
      {{item.name}} - {{item.price | currency : 'R$' : 2}} 
     </md-option> 
     </md-select> 
    </md-input-container> 

    {{orderItems[$index].item.name}} 

그냥 {{ORDERITEMS [$ 색인] .item}} 전체 객체는 객체로서 보여 액세스 할 수 있으며 다음과 같이 propeties입니다 :

{ "_id": "5812cfdb1c27a7187c61b8c1", "가격" "2", "이름": "물 병 500ml의"}

그러나 나는 쓸 때 :

{{ORDERITEMS [$ 지수]. item.name}}

액세스 할 수 없습니다. 개체의 이름, 아무것도 표시되지 않습니다.

내가 뭘 잘못하고 있니?

감사합니다.

+0

당신이 MD <에 변경을 시도 할 수 -option ng-value = "item"> 이것을 확인하십시오 jsfiddle http://jsfiddle.net/2f6qscrp/196/ –

답변

0

ng-repeat에서 사용중인 $index은 부모 md-select에 적용되지 않으므로 해당 번호를 사용하여 orderItems 배열의 색인을 생성 할 수 없습니다. 또한 각 재료 문서에 따르면 value 속성에 value="{{item}}"을 평가할 필요가 없습니다. 당신은 단지 개체로 선택한 값을 저장하려면

, 당신은이 작업을 수행 할 수 있습니다

<md-input-container md-no-float class="md-block col-1111-20-0-fl mrg-l-20"> 
    <md-select ng-model="selectedItem"> 
    <md-option ng-repeat="item in itemNames | orderBy: item.name" ng-value="item"> 
     {{item.name}} - {{item.price | currency : 'R$' : 2}} 
    </md-option> 
    </md-select> 
</md-input-container> 
관련 문제