2014-02-11 2 views
0

ng-repeat를 사용하여 반복되는 div를 제거하려고합니다. AngularJS ng-repeat 설정 속성

<!-- I have 21 of these --> 
    <div class="table-row"> 
    <span class="glyphicon glyphicon-wrench"></span> 
    <label>Chloride</label> 
    <input type="range" min="700" max="1200" ng-model="chlorideSlider"/> 
    <input type="text" class="val" ng-model="chloride"/> 
    </div> 

    <!-- I'd like to use ng-repeat to create them --> 
    <div class="table-row" ng-repeat="item in sliderItems.items"> 
    <span class="glyphicon glyphicon-pencil"></span> 
    <label>{{ item.label }}</label> 
    <input type="range" min="item.min" max="item.max" ng-model="item.slider"/> 
    <input type="text" class="val" ng-model="item.model"/> 
    </div> 

데이터입니다 :

$scope.sliderItems = { 'items' : [ 
    {'label' : 'WBC', 'min' : 0, 'max' : 600, 'slider' : $scope.wbc, 'model' : $scope.wbc, 'tr' : 'wbc_tr' }, 
    {'label' : 'Respiration', 'min' : 0, 'max' : 60, 'slider' : $scope.resp, 'model' : $scope.resp, 'tr' : 'wbc_tr' } 
    ]}; 

최소 및 최대 전혀 작동하지 않습니다. 모델은 변경 될 때까지 올바른 값을 표시하며 읽기 전용 값 오류를 변경하려고합니다.

+1

? 그것의 명확하지 .. .. ( –

+0

두 번째 div에서 일을하고 싶습니다. 그러나 위에서 언급 한대로 작동하지 않습니다. 감사합니다. –

답변

0

은 각하지 지시어 때문에 표현식을 평가하지 않기 때문에이

<div class="table-row" ng-repeat="item in sliderItems.items"> 
    <span class="glyphicon glyphicon-pencil"></span> 
    <label>{{ item.label }}</label> 
    <input type="range" min="{{item.min}}" max="{{item.max}}" ng-model="item.slider"/> 
    <input type="text" class="val" ng-model="item.model"/> 
    </div> 
2

최소 및 최대가 {{ }}에 싸여 할 필요가보십시오. 그러면 다음과 같이됩니다 :

<div class="table-row" ng-repeat="item in sliderItems.items"> 
    <span class="glyphicon glyphicon-pencil"></span> 
    <label>{{ item.label }}</label> 
    <input type="range" min="{{item.min}}" max="{{item.max}}" ng-model="item.slider"/> 
    <input type="text" class="val" ng-model="item.model"/> 
    </div> 
+0

이제 최대 최대 작동합니다. 그러나 값이 있지만 모델에 대해 설정되어 있지만 모델이 작동 할 때 또는 범위에서 슬라이더를 움직일 때 절대로 업데이트하지 마십시오 –

+0

그런 종류의 사용자 지정 지시문을 만드는 것이 좋습니다. 그렇지 않으면 "onSliderChange"유형 이벤트가 있습니다. 새로운 값? – simonlchilds

+0

나를 혼란스럽게하는 것은 가 작동하고 은 init에서만 작동하지만 업데이트되지 않습니다. 감사합니다. –

0

그런 식으로는 모델을 설정할 수 없습니다. 이 대신에보십시오 : 당신은 다음과 비슷한 기능을해야합니다 컨트롤러의 내부

<div class="table-row" ng-repeat="item in sliderItems.items"> 
<span class="glyphicon glyphicon-pencil"></span> 
<label>{{ item.label }}</label> 
<input type="range" min="{{item.min}}" max="{{item.max}}" ng-change="setSlider($index)"/> 
<input type="text" class="val" ng-change="setModel($index)"/> 
</div> 

을 : 당신이 원하는 무엇

$scope.setSlider = function(selectedSlider){ 
    $scope.mySlider = items[selectedSlider].slider; 
} 

$scope.setModel = function(selectedModel){ 
    $scope.myModel = items[selectedModel].model; 
} 
+0

'setModel ({{item.model}})'과 함께 작동하지 않을 것입니다.''{{}}' item.model'. – simonlchilds

+0

Ew ... 좋은 지적 ... 그들에게 조금 지나치게 열중했다. 편집했습니다. 감사. – MBielski

+0

다음과 같은 오류 메시지가 표시됩니다. 'setSlider (item.slider)'식을 할당 할 수 없습니다. 요소 : http://bit.ly/1bRXaEb –