2014-11-11 4 views
0

모델을 업데이트 할 때 내 각 뷰가 업데이트되지 않습니다. $ scope.apply()를 쓸모 없게 호출하려고했습니다. 내 컨트롤러에서모델에 따라 각도 뷰가 업데이트되지 않습니다.

<div ng-repeat="(key,value) in Day.items track by $index"> 
    <label class="item item-input item-select"> 
     <div class="input-label"> 
      {{key}} 
     </div> 
     <select ng-model="value[$index].itemName" ng-options="item as item for item in Equipment.{{key}}"> 
     <option value="">Select Option</option> 
     </select> 
    </label> 
    <label class="item item-input"> 
     <input type="number" ng-model="value[$index].value" placeholder="Amount/Value"> 
    </label> 

    <button class="button button-balanced button-outline button-block" ng-click="AddItem(Day,key)"> 
     Add {{key}} 
    </button> 
</div> 

: 그리고

$scope.AddItem = function(day,key) { 
    day.items[key].push({itemName : '', value : ''}); 
} 

내가 잘못 뭐하는 거지? AddItem 메서드에서 day.items [key]를 로그 아웃하면 배열에 새 객체를 넣는 데 성공했지만 그냥 표시하지 않습니다.

+1

컨트롤러는 무엇을 이름이야? 철자가 맞는지 확인하십시오. 또한 HTML에서 ng-controller가 보이지 않습니다. 컨트롤러를 할당하고자하는 요소의 속성으로'ng-controller = "<컨트롤러의 이름>"을 가질 필요가 있습니다. – EmmaGamma

+0

컨트롤러가 올바르게 작동하고 있으며 라우팅에 지정되어 있습니다. –

+0

그러나 컨트롤러가 html에 어떻게 연결되어 있습니까? – EmmaGamma

답변

0

양방향으로 모델을 컨트롤러 변수에 바인딩하려면 ng-model에서 scope.array를 지정하고 값을 직접 지정하지 않아도됩니다.

지금은 그것을 테스트 할 수 있지만, 그것은해야 뭔가 같은 :

<label class="item item-input" ng-repeat="(key, value) in Day.items"> 
    {{key}}<input type="text" ng-model="Day.items[key].itemName"> 
</label > 

갱신

나는 앱이 exaclty처럼, 그렇게 비교하는 방법을 모르는 당신의 이 바이올린에 문제가 있습니다. 바이올린에서는 모델이 올바르게 묶입니다.

--FIDDLE--

관련 문제